fractal



CS 110: Introduction To Computer Science

History of computing, computer applications, user interface design, computer programming, program assembly, computer hardware, theory of computation, artificial intelligence, computers and society. Two hours lecture and two hours laboratory each week. No prerequisite in mathematics or science. Annually. Fall.

CS 151: Computer Programming I

Elements of programming languages, programming, computer organization, and algorithm development. Prerequisite: Thorough grounding in algebra. One and one fourth credits. Annually. Fall and Spring.

CS 152: Computer Programming II

A continuation of CS 151. Structured programming concepts, dynamic data structures, string processing, recursion, searching and sorting. Prerequisite: CS 151. One and one-fourth credits. Annually. Fall and Spring.

CS 199: Software Paradigms

A one-half-credit course providing background and problem solving experience in a software tool or programming language. Taught on an irregular basis as student interest and staffing permit. Prerequisite: varies according to the software paradigm.

CS 251: Principles of Computer Organization

Computer structure and machine language. Addressing techniques. Basic logic design, coding, number representation and arithmetic. Pipelining andparallelism. Telecommunications, networks, and distributed systems. Prerequisite: CS 152. Annually. Fall.

CS 252: Algorithms

A systematic study of algorithms and their complexity. The limitations of algorithms are also studied in the context of NP-completeness. Prerequisites: CS 152 and Mathematics 123, 211 or 223.

CS 253: Theory of Computation

The theory of automata and formal languages. Computability by Turing machines and recursive functions; uncomputability, computational complexity, and mathematical logic. Prerequisites: CS 152 and Mathematics 123 or 223. Annually. Spring.

CS 279: Problem Seminar

This course provides the opportunity for students to practice working through computer science problems. Typically, this will be for those students intending to prepare for a programming contest in which the College will participate. Such a contest would be the culmination of this course. S/NC course. One-fourth credit. (May be repeated for credit.) Prerequisite: CS 151. Fall or Spring, as contest scheduling demands.

CS 309: Special Topics

The content and prerequisites of this course vary according to the topic chosen. The course is available at irregular intervals when there is a need for a special topic. Prerequisite: permission of the instructor. Recent offerings include Parallel Systems Programming, Linear Programming, and Cryptography.

CS 351: Programming Language Theory & Compiler Construction

Language definition, data types and structures, control structures; run-time environment, interpreters, lexical analysis and parsing, Backus normal form language descriptors and basic parsing concepts, Symbol table manipulation, code generation, local optimization, and storage allocation. Prerequisite: CS 251; CS 252 is recommended.

CS 353: Operating Systems

Review of instruction sets, I/O and interrupt structure, addressing schemes and microprogramming. Dynamic procedure activation. Elementary queuing. Memory management, process management and recovery procedures. Prerequisite: CS 251; Mathematics 241 is recommended. Alternate years. Spring.

CS 354: File and Database Systems

Sequential, hash, and indexed sequential files. Data description languages, query facilities, plus file and index organization. Prerequisite: CS 252. Alternate years.

CS 356: Computer Graphics

This course explores the theory and application of computer graphics through the evolution of graphics algorithms and hardware. Topics include 2-D, 3-D transformations and projections, illumination models, texture mapping, animation, user interfaces, and rendering algorithms. Prerequisites: CS 152 and Math 211. Alternate years. Fall.

CS 357: Machine Intelligence

A study of multiple paradigms in machine and artificial intelligence. Topics include concept learning, hypothesis sets, hypothesis evaluation, computational learning theory, decision trees, artificial neural nets, Bayesian learning, rule-based learning, genetic algorithms. Prerequisites: CS 152 and Math 211. Alternate years.

CS 400: Tutorial

This course will be given for topics not normally covered in regular courses. Prerequisite: CS 252. Approval of both chairperson and supervising faculty member required prior to registration.

CS 451, 452: Independent Study Thesis

Prerequisites: Senior standing and satisfactory completion of CS 252.