Computer Science (CSCI)

CSCI 1201 - Introduction to Computer Science (3 Credits)

The course covers an introduction to the field of Computer Science. Topics to be covered include data representation, hardware, software, problem solving and algorithm design, an overview of operating systems, and web page design. Offered: Fall, Spring, Summer.


Lecture hours: 3

CSCI 1300 - Introduction to Computer Science (3 Credits)

This class provides a foundation in major computing topics such as (but not limited to) computer architecture and operating systems, networks including the Internet, numbering systems, data representation, file structures and software engineering. An introduction to systems analysis, design and implementation is included via hands-on programming projects. Offered: Fall, Spring, Summer.


Prerequisites: MATH 1111 or MATH 1001

Lecture hours: 3

CSCI 1301 - Computer Science I (4 Credits)

This course is an overview of computers and programming; problem- solving and algorithm development; simple data types; arithmetic and logical operators; selection structures; text files; arrays; procedural abstraction and software design; modular programming. A high level programming language (currently Java) will be used. Offered: Fall, Spring, Summer.


Prerequisites: CSCI 1201

Lecture hours: 3

Lab hours: 1

CSCI 1301K - Computer Science I (4 Credits)

The course includes an overview of computers and programming; problem solving and algorithm development; simple data types; arithmetic and logic operators; selection structures; repetition structures; text files; arrays (one-and-two-dimensional); procedural abstraction and software design; modular programming (including subprograms or the equivalent). This course is offered through the eCore collaborative, a cooperative academic arrangement between 21 University System of Georgia institutions, including Albany State University. https://ecore.usg.edu/


Prerequisites: CSCI 1201

Lecture hours: 3

Lab hours: 2

CSCI 1302 - Computer Science II (4 Credits)

This course is an overview of abstract data types; multi- dimensional arrays and records; sets and strings; binary searching and sorting; introductory algorithm analysis; recursion; pointers and linked lists; software engineering concepts; dynamic data structures. A high level programming (currently JAVA) will be used. Offered: Fall, Spring, Summer.


Prerequisites: CSCI 1301 or CSCI 1301K

Lecture hours: 4

CSCI 1321 - Introduction to Programming in R and Python (3 Credits)

This is an introductory programming course for Non-CS majors. Fundamental concepts of programming including Object Orientation, Variables, Data Types, Conditional Statements, Loops, Functions and recursion are introduced and implemented using a variety of examples in both Python and R. Offered: As Needed.


Lecture hours: 3

CSCI 2211 - Visual BASIC Programming (3 Credits)

This course covers the fundamentals of Visual BASIC controls, object types, events, and methods. Topics include creating user interface, setting properties, designing class modules, introduction of Visual BASIC front-end applications for database. Offered: Fall, Spring.


Prerequisites: CSCI 1301 or CSCI 1301K

Lecture hours: 3

Other hours: 3

CSCI 2235 - Information System & Web Security (3 Credits)

This course covers the broad field of Information Security Principles and Practices. This course introduces the student to information security principles, governance, risk management, physical and operational security as well as network and software development security, disaster recovery planning, backup and emergency destruction procedures. Offered: Fall, Spring, Summer.


Lecture hours: 3

CSCI 2300 - Computational Informatics I (3 Credits)

This course offers an introduction to computational informatics science of how information is represented and transmitted in biological systems. Students will learn Biological Technical Scenes, Patterns and Downloading Datasets (Protein Databanks, SWISS-PROT, EMBL and GenBank), Database Management (Pharmacogenomics and Aggression), Search Engines Algorithms (Intelligent Agents and User Interface Tools Programming with PERL Database), Data Mining (Statistics and Sampling), Web Technologies (Internet Sequence Retrieval System) and Data Visualization (Animation and Visualization Tools) Offered: Fall, Spring, Summer.


Lecture hours: 3

CSCI 2311 - Advanced Visual Basic Programm (3 Credits)

Advanced Visual Basic will incorporate the basic concepts of programming and the design techniques of an object oriented language. It covers advanced internet and user interface features and applications; error handling; graphics, database, and XML applications. A second course is needed to cover the database concepts, web applications and advanced programming techniques. The general elective credit hours will increase and the institution's overall degree requirement will not be affected. Offered: Fall, Spring.


Lecture hours: 3

CSCI 3000 - Cryptography & Computer Security (3 Credits)

This course is used as an introduction to the basic theory and practice of cryptographic techniques used in computer security. The course covers topics such as encryption (secret-key and public-key), message integrity, digital signatures, user authentication, key management, cryptographic hashing, network security protocols (SSL, IPsec), public-key infrastructure, digital rights management, and elements zero-knowledge protocols. Offered: Fall, Spring.


Lecture hours: 3

CSCI 3111 - Discrete Structures (3 Credits)

This course includes topics such as logic, sets, relations, functions, counting techniques, mathematical induction, graphs representation, combinatorial problems, elementary graph theory, network work flow, recursion and finite state machine. Offered: Fall, Spring.


Prerequisites: MATH 1113

Lecture hours: 3

CSCI 3122 - Data Structures (3 Credits)

This course is a study of the basic concepts and the representation of data using the language C++, such as static and dynamic allocations, trees, and graphs, storage systems and structures, searching and sorting techniques. Offered: Fall, Spring.


Prerequisites: CSCI 1302

Lecture hours: 3

CSCI 3132 - Database Management (3 Credits)

This course concentrates on defining and designing database systems. It covers such types as data modeling, management algorithms, query language, record insertion and deletion, sorting, creation of indexes, updating the database, and implementing the database. Offered: Fall, Spring.


Prerequisites: CSCI 1302

Lecture hours: 3

CSCI 3200 - Design & Analysis of Algorithm (3 Credits)

This course is about the systematic study of the design and analysis of algorithms. The course covers the fundamental techniques used to design efficient algorithms with the analysis of the efficiency. It covers several group of algorithms, such as graph, search, computational, genetic, sorting, heuristic and approximate algorithms. Offered: Fall, Spring.


Lecture hours: 3

CSCI 3211 - Computer Organization and Architecture I (3 Credits)

This course is the study of hardware and software concepts of digital computer systems, with emphasis on fundamental system software and details of hardware operation. Topics include virtual machines, system organization, digital logic and assembly language programming. Offered: Fall, Spring.


Prerequisites: CSCI 1302

Lecture hours: 3

CSCI 3300 - High Performance Computing (3 Credits)

In parallel computing several processors cooperate to solve a problem, which reduces computing time because several operations can be carried out simultaneously. From the computation point of view, this provides sufficient justification to investigate the concept of parallel processing. In this course, we are intended to investigate four steps that are involved in performing a computational problem in parallel. The first step is to investigate the nature of parallel computing with respect to architectures. The second step involves designing parallel algorithms or parallelizing the existing sequential algorithms. The third step is to map the problem into a suitable parallel computer, and the last step involves writing a parallel program utilizing an applicable parallel programming approach. An important reason to utilize high performance computing can be illustrated by the applications. The applications are representative of a host of situations in which the probability of success in performing a computational task is increased through the use of parallel processing. This course will be considered as a major elective course, so the inclusion of this course in our list of course offerings will not increase the required number of credit hours for computer science majors. Offered: As Needed.


Lecture hours: 3

CSCI 3335 - Risk Analysis & Information Infra-Structure Security (3 Credits)

This course examines the security of information in computer and communications networks within infrastructure sectors critical to national security. These includes the sectors of banking, securities and commodities markets, industrial supply chain, electrical/smart grid, energy production, transportation systems, communications, water supply, and health. Special attention is paid to the risk management of information in critical infrastructure environments through an analysis and synthesis of assets, threats, vulnerabilities, impacts, and countermeasures. Students learn the importance of interconnection reliability and methods for observing, measuring, and testing negative impacts. Critical consideration is paid to the key role of Supervisory Control and Data Acquisition (SCADA) systems in the flow of resources such as electricity, water, and fuel. Students learn how to develop an improved security posture for different segments of the nation's critical information infrastructure. Offered: As Needed.


Lecture hours: 3

CSCI 3350 - Introduction to Data Science with R and Watson (3 Credits)

This Course is an Introduction to Data Science with R and Watson. This course deals with the study and extraction of many and varied data. Topics studied include: introduction to data Science, inferential statistics, probability distributions, statistical modeling and fitting of data, various methods of data collection, analysis and interpretation using R, Watson, other forms of statistical packages, machine learning algorithms, visualization, and predictive modeling. Offered: As Needed.


Prerequisites: MATH 2411

Lecture hours: 3

CSCI 4113 - Operating Systems (3 Credits)

This course involves the operating system architecture and the manner in which computer operating systems interact with machine hardware to provide a total system. The study of operating systems by combining a careful examination of theoretical issues with real-world, hands-on problems and examples. The implementation examples are drawn from the commercial operating systems. Offered: Fall, Spring, Summer.


Prerequisites: CSCI 3122

Lecture hours: 3

CSCI 4123 - Computer Networks (3 Credits)

This course is the study of Network Planning and Network Design, Understanding Networks by understanding their components and their functions, and defining different Network Operating Systems. This course provides insight into new technologies, such as ATM, ISDN, and wireless networks. The implantation examples are drawn from the commercial network operating systems. Offered: Fall, Spring, Summer.


Prerequisites: CSCI 4113

Lecture hours: 3

CSCI 4211 - Systems Analysis I (3 Credits)

This course provides the students with an introduction to technical and management issues in systems analysis and design. The course covers various issues in the Systems Development Life Circle (SDLC) model, CASE tools and their impact on SDLC, the systems analyst and the different roles of a systems analyst in an organization. It introduces students to various information gathering techniques, tools for project management, issues and models for sampling data sources, ER diagrams, data flow diagrams and data dictionaries. It includes an in-depth treatment of prototyping. It also covers issues in decision-making, process specification techniques and principles of structured design. Offered: Fall, Spring, Summer.


Prerequisites: CSCI 1302

Lecture hours: 3

CSCI 4221 - Software Engineering (3 Credits)

This course provides an introduction to software engineering methodologies, addressing each phase in the life cycle of software. Topics include system and software analysis, design, implementation and maintenance, software system development and management. CASE tools will be discussed also. Offered: Fall, Spring, Summer.


Prerequisites: CSCI 3122

Lecture hours: 3

CSCI 4319 - Introduction to Machine Learning (3 Credits)

This is an Introductory Course in Machine Learning and its applications. The main topics covered include Supervised Learning, Unsupervised Learning, Reinforced Learning, Neural Networks and Deep Learning. The course covers such methods as Regression Analysis, Support Vector Machines, Bayesian Decision Theory, Classification Algorithms, Clustering Analysis, Frequency Analysis, Nearest Neighbor Algorithms, Neural Network and Markov Models. Offered: Fall, Spring.


Lecture hours: 3

CSCI 4338 - Network & Operating Systems Security (3 Credits)

This course examines network and operating systems security in modern networks, which include local area networks, wide area networks, the internet, wireless networks, and mobile networks. Special emphasis is paid to the security and privacy of cloud-based data networks, which are coming under heavy attacks by hackers and malware. Offered: Fall, Spring.


Lecture hours: 3

CSCI 4340 - Wireless & Mobile Security (3 Credits)

This course provides an overview to the secure planning, designing, and configuring of wireless LANs, as well as both the theory and practice of embedded network security. The course will offer in-depth coverage of wireless networks, implementation, design, security, and troubleshooting. The course also provides a comprehensive overview of building and maintaining firewalls in a business environment designed for the student and network administrator to learn the basics of network firewall security. Offered: Fall, Spring.


Lecture hours: 3

CSCI 4344 - Computer Forensics (3 Credits)

This course trains the student to properly conduct a computer forensics examination and provides an understanding of the process of electronic discovery. The students will learn the skills and techniques necessary to conduct a thorough digital forensics examination. The training will also teach the students how to compile and present the results of their digital forensics examination in a format suitable for presentation in a court of law or other competent government or administrative authority. Offered: Fall, Spring.


Lecture hours: 3

CSCI 4392 - Introduction to Blockchain Technology (3 Credits)

This course is an introduction to Blockchain. The major topics covered are: Basic Linux, Introduction to GIT, JavaScript Basics, Go Lang Basics, and Introduction to Blockchain Technology, the History of Blockchain and Bitcoin, the Emergency of Cryptocurreencies, multi-facets of Blockchain technology. Ethereum Blockchain, Hyperledger Blockchain, Introduction to Hyperledger Fabric and Composer, Setting up and Installing local Hyperledger Fabric, Composer and Playground, Hyperledger in IBM mix, Working with Hyperledger in Linux One, Hyperledger Blockchain Use cases, Developing your first application in Hyperledger Fabric, using chain codes. Integration of Hyperledger Blockchain networks with existing systems. Offered: As Needed.


Prerequisites: CSCI 1301

Lecture hours: 3

CSCI 4393 - Data Analytics in Supply Chain with SAS (3 Credits)

This course introduces the student to Data Analytics applications in supply chain and logistics. Offered: As Needed.


Prerequisites: (MATH 1111 or MATH 2411)

Lecture hours: 3

CSCI 4395 - Data Analytics in ERP Systems with SAS (3 Credits)

This course introduces the student to Data Analytics in Enterprise Resource Planning Systems. Converting data to information, portraying it is a manner useful for decision making, and interfacing the information with decision-assisting methods will be addressed. Offered: As Needed.


Prerequisites: MATH 1111

Lecture hours: 3

CSCI 4411 - Artificial Intelligence (3 Credits)

This course covers the basic concepts of artificial intelligence including production systems, knowledge representation, pattern matching, heuristic search, and logical and probabilistic reasoning. The social, cultural, and economic impact of artificial intelligence are discussed. Offered: As Needed.


Prerequisites: CSCI 3111

Lecture hours: 3

CSCI 4911 - Special Topics in Computer Science & Computer Information Systems (3 Credits)

This course covers current topics in Computer Science and Computer Information Systems of special interest to faculty and students. Prerequisite: Permission of instructor. Offered: Fall, Spring.


Lecture hours: 3

CSCI 4915 - Web Design and Development (3 Credits)

This course will cover the fundamental concepts of web development. The study of the theory and languages related to Web Design and Development will also be discussed. Topics include client/server architecture, W3C HTML 4 specifications, CSS, DHTML, XML, VB and Java Scripts, Active Serve Page and PHP: Hypertext Preprocessor. Offered: Fall, Spring.


Prerequisites: (CSCI 3122 and CSCI 2211)

Lecture hours: 3

CSCI 4925 - Senior Project (3 Credits)

Students will broaden their educational experience by reading and understanding technical literature in the areas of mathematics and computer science, organizing and writing a professional-level paper, project implementation and coding, attending seminars and preparing a professional-level presentation. Project implementation should satisfy all departmental requirements. Students will draw upon and synthesize knowledge from their previous course work and educational experiences. Through revision, critiquing, and justification of the proposals and the oral presentations, students will strengthen their abilities and competence communicating deep understanding of their work in oral and written forms. Offered: Fall, Spring.


Lecture hours: 3