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 Programming

Introduction 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 Management

Data 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

* Back to Computer Science Degree