CS COURSE DESCRIPTIONS
CS100 Introduction to Computers and Information Technology
Introduction to the word processing, spreadsheet, and database software. Introduction to
Internet
CS120 Introduction to Computer Science
Structured programming language (C/C++). Algorithmic development, decisions, loops, functions, parameter passing arrays and introduction to recursion
CS150 Techniques of Program Design Multi-dimensional arrays, records, pointers and dynamic data, pointer arithmetic, internal storage of simple and compound data types, text and binary files. Documentation and implementation.
CS160 Introduction to Operating Systems
Process and processor. Memory management. Organization and protection of file systems. System security. Performance evaluation. In-depth studies of certain features of specific operating systems.
CS200 Object-Oriented Programming
Class hierarchies and inheritance, function and operator overloading, inheritance, polymorphism. Object oriented design and implementation. Class libraries.
CS210 Computer Organization and Assembly Language
Basics of assembly language. Machine architecture (registers, memory, instruction formats), character data processing, decimal arithmetic, binary arithmetic, subroutine and program linkage
CS250 Data Structures and Algorithms
Data abstraction, lists, stacks, queues, trees, hashing, searching and sorting algorithms. Evaluation of algorithm efficiency. Recursion.
CS260 Internet Programming
Programming in Java.
CS270
Unix ProgrammingIntroduction to Unix. Unix and C Programming
CS300 Compiler Construction
Lexical analysis. Syntax analysis. Symbol table. Error handling. Code generation. Optimization.
CS310
Data Processing and File ManagementData storage. File system organization. Access methods.
CS320 Artificial Intelligence I
Heuristic programming techniques. Computation with symbolic expressions. Problem representation, tree searching, data-driven programming and high-level control structures.
CS330 Data Communications and Networking I
Transmission of information in the forms of voice, data, text and image. Communication protocols. Internet protocols. Transmission technologies. Communications media. Overview of networks. Topologies.
CS350 Database Systems
Database Systems general description. Database models. Relational Databases. Relational languages (SQL, QBE).
CS360 Artificial Intelligence II
Knowledge representation, planning, reasoning, automatic truth maintenance, constraint satisfaction, expert systems, games, machine learning, neural networks, natural language processing, robotics, theorem proving, and vision.
CS370 Software Engineering
Technical, ethical, organizational, and social implications of computing. Basic principles of software engineering. Issues in the software life cycle. Software design and testing. Project management and quality assurance
CS380 Graphical Interfaces
Designing and creating graphical user interface (GUI) programs using several programming languages to illustrate variation in styles of GUI programming.
CS400 Algorithm Design and Analysis
Algorithm design techniques: greedy algorithms, dynamic programming, divide and conquer, backtracking. Abstraction mechanisms and modularity and their use in the design of large systems. Analysis of computer algorithms. Complexity. Efficiency of computer programs.
CS410 Computer Graphics
Graphics computer hardware. Graphics primitives. Two-dimensional and three-dimensional viewing and transformations. Basic algorithms in Computer graphics
CS420 Simulation of Discrete Systems
Discrete systems. Logical and numerical modeling. Simulation languages (GPSS)
CS430 Senior Design Project
Students develop a moderately large software project in a team.
MA110 Analytical Geometry
Two- and three-dimensional affine spaces. Affine and Euclidean geometry. Linear transformations in Euclidean spaces. Applications
MA120 Calculus I
Numbers. Functions. Limits and continuity. Derivatives, integrals and their applications
MA150 Linear Algebra
Matrices, determinants, vector spaces, linear transformations, systems of linear algebraic equation systems. Eigen values
MA160 Calculus II
Sequences and series. Real Analysis of a Single Variable. Inverse functions. Techniques of integration.
MA210 Numerical Analysis
Polynomials and splines. Interpolation and approximation. Methods for solving non-linear equations. Systems of linear and non-linear algebraic equations. Error analysis. Numerical integration.
MA230 Discrete Structure of Computer Science
Boolean Logic. Elementary Combinatorics. Simple Graph Theory. Formal languages and grammars. Chomsky's hierarchy. Finite-state machines, push-down automata and Turing machines
MA250 Applied Statistics
Graphical representation of data and its meaning. Descriptive statistics. Quantity and categorical data. Location estimation. Scale estimation. Dependence and independence. Correlation analysis. Normal theory of regression and analysis of the adequacy of the regression method. Factor analysis. Cluster analysis