Centralized Repository for Computer Science Syllabi for HB 261 Compliance

CS 1400 - Fundamentals of Programming

Credit Hours: 3

Prerequisite(s): MAT 1010 or MAT 1015 with a B or better, or MAT above 1015 or ACT score 23 or higher or ALEKS score 38 or higher. CS 1030 recommended
Introduces techniques and tools to formulate and solve problems where computer algorithms and programs are a core part of an effective, repeatable solution. Demonstrates algorithmic thinking using procedural programs composed of sequences of commands, functions, loops, conditionals, and basic data structures. May be delivered online.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-1400-001-202520

cs-1400-002-202520

cs-1400-003-202520

cs-1400-004-202520

cs-1400-005-202520

cs-1400-006-202520

cs-1400-603-202520

cs-1400-x01-202520

cs-1400-x02-202520

cs-1400-x03-202520

CS 1410 - Object Oriented Programming

Credit Hours: 3

Prerequisite(s): CS 1400 and (MATH 1050 or MATH 1055 with a C+ or better, or MATH above 1050)
Teaches proper program structure using the core concepts of object-oriented programming: classes, objects, encapsulation, inheritance and polymorphism. Presents problems of increasing size and complexity requiring OOP techniques, standard libraries and other appropriate language constructs.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-1410-001-202520

cs-1410-002-202520

cs-1410-003-202520

cs-1410-602-202520

cs-1410-x01-202520

cs-1410-x02-202520

cs-1410-x03-202520

CS 1420 - Accelerated Introduction to Programming

Credit Hours: 3

Prerequisite(s): MAT 1010 or MAT 1015 with a B or better, or ACT score 23 or higher or ALEKS score 38 or higher. Pass CS 1420 Entrance Exam.
Teaches techniques, tools and skills necessary to effectively program computers. Demonstrates algorithmic thinking using procedural and object-oriented concepts. Presents problems of increasing size and complexity requiring standard libraries and other appropriate language constructs. May be delivered online.

Section Syllabi:

cs-1420-001-202520

CS 2300 - Discrete Mathematical Structures I

Credit Hours: 3

Prerequisite(s): (CS 1410 or INFO 2200) and MATH 1050 or higher
Covers algebraic structures applied to computer programming. Includes logic, sets, elementary number theory, mathematical induction, recursion, algorithm complexity, combinatorics, relations, graphs, and trees.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-2300-001-202520

cs-2300-x01-202520

cs-2300-x02-202520

CS 2370 - C Plus Plus Programming WE

Credit Hours: 3

Prerequisite(s): CS 1410
Introduces C++ programming for students with prior programming experience. Covers language fundamentals, core standard library components, error handling, value semantics, pointers and memory management, object-oriented programming, and templates.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-2370-001-202520

cs-2370-002-202520

cs-2370-601-202520

CS 2420 - Introduction to Algorithms and Data Structures

Credit Hours: 3

Prerequisite(s): CS 1410
Uses data abstraction to design and implement modular programs of medium size and complexity. Structures solutions to problems using common data structures and algorithms such as advanced arrays, lists, stacks, records, dynamic data structures, searching and sorting, vectors, trees, linked lists, and graphs. Evaluates alternative solutions to problems. Analyzes algorithmic complexity metrics in Big-O notation.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-2420-001-202520

cs-2420-002-202520

cs-2420-004-202520

cs-2420-x01-202520

CS 2450 - Software Engineering

Credit Hours: 3

Prerequisite(s): CS 2300, CS 2420
Presents concepts, methodology and best-practices necessary to develop large scale software projects. Includes step-wise software requirements analysis, design, implementation, testing and release. Discusses software generation, reuse, scheduling, verification, and maintenance. Emphasizes current "real world" industry best-practices and tools.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-2450-002-202520

cs-2450-601-202520

cs-2450-x01-202520

cs-2450-x02-202520

CS 2550 - Web Programming I

Credit Hours: 3

Prerequisite(s): CS 1410 or DWDD 2720 or INFO 1200
Covers design and development of browser-based programs with an emphasis on single-page applications. Teaches generation and modification of HTML via JavaScript, debugging techniques, communicating with web servers, and use of XML and JSON.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-2550-001-202520

cs-2550-601-202520

cs-2550-x02-202520

CS 2600 - Computer Networks I

Credit Hours: 3

Prerequisite(s): CS 2810 or (INFO 1200 and IT 1600)
A rigorous introduction to computer networking theory and technologies for Computer Science and Information Technology majors. Includes theory of data communications protocols; theory and design of transmission systems; transmission media; and communication software. Emphasizes the lower layers of the Open Systems Interconnection model. Requires lab exercises to be completed outside of lecture.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-2600-001-202520

cs-2600-601-202520

cs-2600-602-202520

CS 2700 - Causal Inference

Credit Hours: 3

Prerequisite(s): CS 1400
Explores a variety of data generating processes of importance for causal inference with computer simulations. Includes stratified sampling, inverse probability weighting, matching, blocking, propensity, sensitivity, causal graphs, d-separation, identifiability, the causal Markov condition, and the back-door criterion for selecting an admissible set of covariates. Examines causal mechanisms, the Rubin causal model, and both deterministic and stochastic counterfactuals. Develops ethical A/B testing procedures.

Section Syllabi:

cs-2700-001-202520

CS 2810 - Computer Organization and Architecture

Credit Hours: 3

Prerequisite(s): CS 1400
Uses assembly language to introduce basic concepts of computer organization. Includes number systems, CPU organization, instruction sets, programming in assembly, memory organization, debugging, program design, and documentation. Covers interrupts, vector tables, and disk I/O.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-2810-001-202520

cs-2810-002-202520

cs-2810-003-202520

cs-2810-x03-202520

CS 3060 - Operating Systems Theory

Credit Hours: 3

Prerequisite(s): CS 2370, CS 2420, and University Advanced Standing. If a computer science or software engineering major, also CS 2810 and matriculation to computer science or software engineering. If a computer engineering major, also ECE 2700 and ECE 3730
Introduces the Unix operating system. Presents the underlying theory and concepts of an operating system, and covers the following topics in depth: device management, processes, threads, synchronization, scheduling, deadlocks, memory management, virtual memory, and file systems. Provides practical experience in writing programs that use standard Unix system calls to interface directly with the operating system.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-3060-002-202520

cs-3060-601-202520

cs-3060-x01-202520

cs-3060-x02-202520

CS 3100 - Data Privacy and Security

Credit Hours: 3

Prerequisite(s): CS 2420 and University Advanced Standing
Covers the fundamental theory, concepts and practical applications of computer security. Includes networking fundamentals, cryptography, authentication and authorization, access control, malware, physical security, computing systems hardening, threat detection and response, secure code, and secure applications development. Emphasizes developing, deploying, and maintaining a secure computing infrastructure with a hands-on approach.

Section Syllabi:

cs-3100-001-202520

cs-3100-x01-202520

cs-3100-x02-202520

CS 3270 - Python Software Development

Credit Hours: 3

Prerequisite(s): CS 2420 or INFO 2200, matriculation to computer science or software engineering if computer science or software engineering major, and University Advanced Standing
Covers the features of the Python programming language. Includes scripting, dynamic typing, data types (sequences, sets, mappings, files, etc.), loops, iterators, generators, functions, coroutines, classes and objects, modules, packages and scope, runtime services, data wrangling, concurrent programming, etc.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-3270-x01-202520

cs-3270-x02-202520

CS 3310 - Analysis of Algorithms

Credit Hours: 3

Prerequisite(s): Matriculation into Computer Science or Software Engineering, and University Advanced Standing
Develops and reinforces ability to write and mathematically analyze foundational computer algorithms. Includes formalizing NP-completeness, divide and conquer strategies, greedy algorithms, dynamic programming, backtracking, branch and bound, approximation algorithms and multicore parallelization.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-3310-001-202520

cs-3310-002-202520

CS 3450 - Principles and Patterns of Software Design

Credit Hours: 3

Prerequisite(s): (CS 3250 or CS 3260 or CS 3270 or CS 3370 or CS 3380) and University Advanced Standing
Gives students familiarity with modern principles and practices of software design. Emphasizes design patterns, including their motivation and the design principles on which they are based.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-3450-001-202520

cs-3450-002-202520

CS 3520 - Database Theory

Credit Hours: 3

Prerequisite(s): Matriculation to computer science or software engineering and University Advanced Standing
Introduces the underlying theories of Relational Database Management Systems (RDBMS) as well as their practical use retrieving data using both embedded SQL and relational algebra. Implements queries that start from simply joining, selecting, and projecting data, then progresses to more complex data retrieval techniques that require the use of set operations, sub-queries, and group by having clauses. Discusses entity-relationship (ER) modeling, creating a RDBMS from an ER model, B+ Trees, ACID transactions, normalization, locking, concurrency issues, and alternatives to an RDBMS.
Lab access fee of $45 for computers applies.

Section Syllabi:

cs-3520-002-202520

cs-3520-x01-202520

cs-3520-x02-202520

CS 3530 - Data Management For Data Sciences

Credit Hours: 3

Prerequisite(s): CS 3520 and University Advanced Standing
Covers advanced relational databases and issues related to managing non-relational data sets. Has two major components: (1) advances knowledge in relational database and skills in using SQL and database indexing; and (2) introduces NoSQL databases such as a document-oriented database, key-value database, column-oriented database, graph database, and Hadoop system and data warehousing. Justifies the need for NoSQL databases, and shows how they are implemented in database systems. Presents criteria that decision makers should consider when choosing between relational and non-relational databases and techniques for selecting the NoSQL database that best addresses specific use cases.

Section Syllabi:

cs-3530-601-202520

CS 3820 - Visualization Analytics for Data Science

Credit Hours: 3

Prerequisite(s): CS 3530 and University Advanced Standing
Introduces visual analytics methods and techniques to support human reasoning and decision-making with data. Presents visualization as the primary tool for recognizing and communicating the significance, meaning and decision-making from massive, dynamic, often conflicting, data. Includes both theoretical foundations and application methods, which presents a comprehensive view of this emerging, multidisciplinary field beyond simply learning to use visualization tools. Includes choosing the right visualization for the questions being asked, the data and the target audience; translating numbers to images; showing data or statistics; showing uncertainty, time trends; presenting results of machine learning techniques; many variables; big data; and maps and networks. Covers pie charts, bar charts, histograms, simple metrics, scatterplots, maps.

Section Syllabi:

cs-3820-001-202520

CS 4710 - Machine Learning II

Credit Hours: 3

Prerequisite(s): CS 4700 and University Advanced Standing
Applies Deep Learning models to problems in a variety of application domains that use massive data sets, such as recommender systems, novel text, image and music generation, sentiment analysis. Implements working models using algorithms such as recurrent neural nets, convolutional neural nets, deep belief nets, and deep reinforcement learning. Uses modern toolkits such as Tensorflow.

Section Syllabi:

cs-4710-601-202520

CS 4800 - Data Science Capstone WE

Credit Hours: 3

Prerequisite(s): CS 3530 and University Advanced Standing
Solves a real-world data science problem or dilemma for an industry partner. Provides an opportunity to work in teams on a project from an industrial firm. Includes realistic industry evaluations such as teamwork, communication, individual initiative, and final product.

Section Syllabi:

cs-4800-001-202520

CS 6460 - Artificial Intelligence

Credit Hours: 3

Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Presents foundational AI algorithms. Explores state space search, local search, adversarial search, constraint satisfaction problems, logic and reasoning, expert systems, Markov Models, Bayesian networks, particle filters, planning, reinforcement learning, and multilayer perceptrons. Studies practical implementations of AI algorithms.

Section Syllabi:

cs-6460-i01-202520

CS 6480 - Deep Learning

Credit Hours: 3

Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Presents advanced models, algorithms, approaches and applications in neural networks and machine learning. Broadens and deepens the horizons of study of the philosophy and utility of machine learning models beyond what is covered in Machine Learning. Includes advanced gradient descent models, bayesian methods, boltzmann machines, recurrent neural nets, hidden markov models, randomized optimization, hopfield nets, computer vision, modern toolkits, learning from gigantic data.

Section Syllabi:

cs-6480-001-202520

CS 6500 - Software Architecture

Credit Hours: 3

Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Evaluates software architecture and the high level design of large scale software systems. Explores common architectural styles and patterns. Teaches techniques of documenting and assessing software architectures. Teaches characteristics of software architecture evolution. Evaluates several large-scale software architectures.

Section Syllabi:

cs-6500-001-202520

CS 6510 - Design and Simulation of Operating Systems

Credit Hours: 3

Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Analyzes current topics in operating systems design and simulation. Covers modern computer architecture; several types of memory management; current scheduling algorithms for multiple processes; disk management; virtual memory and interprocess communication.

Section Syllabi:

cs-6510-601-202520

CS 6600 - Graduate Project I

Credit Hours: 3

Prerequisite(s): CS 6300, CS 6510
Teaches the design and development of a walking skeleton with students participating in all aspects of software development, including: requirements elicitation, architecture, design, implementation, testing, and deployment. First semester of a two-semester capstone course.

Section Syllabi:

cs-6600-i03-202520

CS 6700 - Advanced Mathematics for Computer Science

Credit Hours: 3

Prerequisite(s): Acceptance into the Master of Computer Science program or Graduate Certificate in Artificial Intelligence program
Solves computer science problems using advanced mathematical models. Applies calculus functions of multiple variables, linear equations, matrix algebra, determinants, Gaussian elimination, eigenvalues, linear programming, and finite-state Markov chains.

Section Syllabi:

cs-6700-601-202520