Graduate Core Courses
CS Home Contact CS UG Advisor Grad Advisor
Undergrad-Lower Level
Undergrad-Upper Level
Graduate Core
Seniors and Graduates
Graduate Courses

Master of Science Computer Science
Bachelor of Science Computer Science
Associate of Science Computer Science
Minor in CS
Undergrad Certificate
Graduate Certificates
Bachelor of Science in Computer Technology

<< Back
CS 604 Introduction to Programming/C                         Syllabus    Offerings

This is a 6-credit course in basic C programming for students with no previous programming experience. It meets two nights per week and replaces the combination of CS 603 and CS 610.

CS 610 Intermediate Programming/C                             Syllabus    Offerings

Prerequisite: CS 603 or permission of instructor. An intermediate-level programming course covering all aspects of ANSI C language, its preprocessor, syntax and semantics, modern usage, design and solution techniques, as well as elements of data structures, algorithms, and analysis of programs. Emphasis is on construction of portable, modular programs.

CS 620 Data Structures                                                   Syllabus    Offerings

Prerequisite: CS 610 and ability to read Pascal, or CS 603 as prerequisite and CS 610 as corequisite. An examination of data structures, their function and uses. Topics will include basic data representations, arrays, linked structures, stacks, queues, trees, graphs, hashing. Study of relation between data structures and algorithms, with sorting and searching, elements of complexity analysis. Recursion and other solution techniques. Students use their choice of Pascal or C to develop and run several programs.

CS 630 Introduction to Computing Theory                     Syllabus    Offerings

Introduction to the theory of computers and computation including study of formal systems and methods; regular expressions, formal languages and grammars, elements of parsing theory, and the Chomsky hierarchy; finite automata and pushdown automata; decidability; Turing machines, Post machines and other formal computer models; and elements of complexity theory.

CS 632 Algorithm Design and Analysis                         Syllabus     Offerings

Prerequisite: CS 620. Study of the time and space complexity of algorithms and of efficient algorithm design. Topics include amortized analysis, advanced data structures, greedy algorithms, divide-and-conquer, dynamic programming, randomized algorithms, NP-Completeness.

CS 640 Computer Organization                                     Syllabus     Offerings

The structure and the function of computers. The nature and the characteristics of modern computer systems and the operation of individual components: CPU, control unit, memory units and I/O devices. Topics include addressing methods, machine-program sequencing, microprogramming, complex I/O organization, interrupt systems, multiple-module memory systems and caches, peripheral devices and microprocessors.

CS 644 Operating Systems                                             Syllabus     Offerings

Prerequisites: CS 610, CS 620 as a pre- or corequisite, and CS 640 (or EE 682). Study of the function, structure and design of computer operating systems, principally multiprogramming systems. Topics include management of processes and processor resources, of data and memory and of peripheral devices; concurrent processes; system protection; scheduling; paging and virtual systems.

Last updated: 11/29/01 Comments about this website should be directed to CS webmaster