| First Year
| Second Year | Third Year |
Forth Year |
Computer Science Main
Fall Semester
Spring Semester
MATH 330, Linear Algebra
COSC 450, Programming Paradigms
Linear algebra presents matrix algebra, vector spaces, and linear
transformations. Its goal is to provide students with the skill to
apply these mathematical tools to problems in computer science such
as graphics, computer modeling, and numerical methods.
Programming Paradigms introduces three major programming models
that complement the procedural and object-oriented approaches: the
functional, declarative, and concurrent models. Each model is
presented in the context of an associated programming language: Lisp,
Prolog, and Java respectively. This course furthers the goal of
providing experiences in multiple paradigms and languages in the
undergraduate curriculum.
COSC 535, Operating Systems
MATH 460, Automata Theory
Operating Systems is a continuation in more depth of the topic
introduced in the Computer Systems course. Operating systems are
presented as multi-layer components that hide the details of hardware
implementation in order to master the complexity of resource
management. The course furthers the theme of abstraction in the
curriculum and serves as an example of the power of abstraction in
software design.
The goal of Automata Theory is to answer the question, What is
computability, and what are its limits? Students learn the abstract
models that help to answer these questions—finite automata, pushdown
automata, and Turing Machines. The course prepares students for more
advanced work in theoretical computer science and serves as a basis
for applied work in language design and compiler construction.
|