SKIP TO MAIN CONTENT

Computer Science

Computer Science Courses

CS - Computer Science --- Fall 2025

CS A131  --- Python Programming I
Introduction to fundamental concepts and techniques for writing software in the Python programming language. Covers the syntax and semantics of data types, expressions, exceptions, control structures, Input/output, methods, classes, and pragmatics of Python programming.

CS A150  --- C++ Programming 1
First course in ANSI/ISO Standard C++ programming language. Topics include data types, strings, operators, expressions, control flow, input/output, functions, pointers, arrays, preprocessor, streams, enumerated data type, dynamic memory allocation, objects, classes, vectors, inheritance, object-oriented design and recursion. 

CS A170  --- Java Programming 1
A first Computer Science course taught using the Java programming language. Students will build Java applications. Emphasis will be placed on programming fundamentals such as variables, selection and loops as well as object-oriented programming concepts including classes and inheritance. 

CS A200  --- Data Structures
A study of data abstraction and algorithm analysis. Data structures include lists, stacks, queues, trees, tables, and graphs. Algorithms include searching, sorting, pattern-matching, tree traversal, and balancing. This is a core course for students who want to study advanced programming, computer science, or engineering. 

CS A216  --- Computer Architecture
A course in the architecture of computers. Topics will include Boolean algebra and computer arithmetic, digital logic, micro and macro architecture, Assembly language, performance, datapath and control, memory hierarchies, interfacing and peripherals, and multiprocessing. 

CS A220  --- Software Engineering
Introduction to the concepts, methods, and current practice of software engineering. Study the lifecycle of a software system. Employ engineering methods, processes, techniques, and measurement. Use of tools to manage software development. Project work is required to illustrate the various elements.

CS A250  --- C++ Programming 2
Second course in ANSI/ISO Standard C++ programming language. Topics include sorting and searching, data structures, operator overloading, memory management, exception handling, name scope management, polymorphism, templates, STL containers, STL algorithm and iterators, and functional programming. 

CS A262  --- Discrete Structures 
An introduction to the discrete structures used in Computer Science with an emphasis on their applications. Topics covered include functions, relations, sets, basic logic, proof techniques, basics of counting, graphs, trees, and discrete probability. 

CS - Computer Science --- Intersession/Spring 2026

CS A131  --- Python Programming I
Introduction to fundamental concepts and techniques for writing software in the Python programming language. Covers the syntax and semantics of data types, expressions, exceptions, control structures, Input/output, methods, classes, and pragmatics of Python programming.

CS A150  --- C++ Programming 1
First course in ANSI/ISO Standard C++ programming language. Topics include data types, strings, operators, expressions, control flow, input/output, functions, pointers, arrays, preprocessor, streams, enumerated data type, dynamic memory allocation, objects, classes, vectors, inheritance, object-oriented design and recursion. 

CS A170  --- Java Programming 1
A first Computer Science course taught using the Java programming language. Students will build Java applications. Emphasis will be placed on programming fundamentals such as variables, selection and loops as well as object-oriented programming concepts including classes and inheritance. 

CS A200  --- Data Structures
A study of data abstraction and algorithm analysis. Data structures include lists, stacks, queues, trees, tables, and graphs. Algorithms include searching, sorting, pattern-matching, tree traversal, and balancing. This is a core course for students who want to study advanced programming, computer science, or engineering. 

CS A216  --- Computer Architecture
A course in the architecture of computers. Topics will include Boolean algebra and computer arithmetic, digital logic, micro and macro architecture, Assembly language, performance, datapath and control, memory hierarchies, interfacing and peripherals, and multiprocessing. 

CS A231 --- Python Programming II
Advanced Python programming. Covers classes, modules, using the Python standard library and using third-party libraries.

CS A242 --- Computer Org/Assembly Language
Introduction to the organization and behavior of real computer systems at the assembly-language level. Topics include studying the mapping of statements and constructs in a high-level language onto sequences of machine instructions, as well as the internal representation of simple data types and structures, and examining numerical computation to note various data representation errors and potential procedural errors. 

CS A250  --- C++ Programming 2
Second course in ANSI/ISO Standard C++ programming language. Topics include sorting and searching, data structures, operator overloading, memory management, exception handling, name scope management, polymorphism, templates, STL containers, STL algorithm and iterators, and functional programming. 

CS A257 --- Boolean Algebra and Logic
An introduction to the discrete structures used in Computer Science. Topics covered include basic logic, proof techniques, relations, Boolean algebra, logic gates, languages and grammars, finite-state machines, and Turing machines.

CS A262  --- Discrete Structures 
An introduction to the discrete structures used in Computer Science with an emphasis on their applications. Topics covered include functions, relations, sets, basic logic, proof techniques, basics of counting, graphs, trees, and discrete probability. 

CS A263  --- Probability & Stats for CS
Introduction to probability and statistics with an emphasis on their applications in Computer Science. Topics include continuous and discrete probability distributions, linear and logistic regression, creating models to use for predictive inference, and programmatic analysis of data.

CS A272  --- Java Programming 2  
A second course in Java programming language. Topics include object-oriented design, inheritance, interfaces, abstract and anonymous inner classes, I/O & exceptions, generics, regular expressions, databases, XML, GUI construction, graphics and multimedia, Java collections, data structures, lambda expressions and multithreading. This course may also be offered online.