COMPUTER
SCIENCE DEPARTMENT
e-mail
address: mathcs@cord.edu
COURSE OFFERINGS:
104:
E Software
Applications. Full course.
An
in-depth introduction to common applications of the microcomputer. The student will learn to use Windows, word
processing, spreadsheets, presentation and database software. The class is taught in a lab setting. (Credit not given for a Computer Science major
or minor.)
125:
E Introduction to Computer
Science. Full course.
The first
course in the major/minor sequence. An
introduction to the Java programming language, algorithm design, structured and
object-oriented programming techniques.
No prior programming experience is assumed. Prerequisite: Higher algebra.
225:
E Fundamental Structures. Full
course.
Intermediate
data structures and techniques of object-oriented and structured
programming. Discrete data types and
structures, including arrays, files, sets, lists, trees, hash tables, sorting
and recursion. Small to medium-scale programs
are developed. Prerequisite: Computer
Science 125.
240:
E1 Introduction to C/C++. Half course. (2006-07)
This
course provides an introduction to C++ programming language for students who
have already learned Java language.
Programs in Java and C++ share a superficial resemblance to each other,
but beneath the surface there lies a myriad of practical and philosophical
differences. Prerequisite: Computer
Science 225 or consent of the instructor.
245:
E1 Introduction to
UNIX/LINUX. Half course. (2006-07)
This
course introduces the fundamentals of the UNIX operating system to the PC
user. It provides a hands-on approach to
take the student through the basics of UNIX system concepts, architecture and
administration. Prerequisite: Consent of
the instructor.
320:
E2 Computer
Systems and Organization. Full course.
A study of
computer architecture and assembly language programming. Highlights include: machine language programming, assembly and
linkage processes, interrupts, memory management, macros, graphics and mouse
programming. Prerequisite: Computer
Science 225.
330:
E1 Introduction to Database
Management. Full course.
An
introduction to database theory and practice.
Topics include relational database design, ER modeling, normalization,
SQL/embedded SQL, concurrency control, data warehousing and other emerging
database technologies. Practical
software engineering principles are emphasized through student projects. Prerequisite: Computer Science 225 or consent
of the instructor.
335:D Operations
Management/Research. Full course. (Cross
listed with MATH 335, BUS 460)
An
introduction to quantitative modeling, with applications to computer simulation
and business resource management. Topics
include linear and nonlinear programming, network analysis, game theory,
deterministic and probabilistic models and queuing theory. This is the same course as Mathematics 335
and Business 460. Prerequisite: Consent
of Instructor.
340:
A2 Systems
Analysis & Design. Full course.
(2007-08)
An
overview of the systems development process. Includes: tools/techniques for
describing processes, data flows, data structures, file designs, input/output
designs, program specifications, and prototyping for systems. Discovery,
problem-solving, and communications skills as employed by the systems analyst
are also covered. Prerequisite: Computer Science 225.
345:
E1 Computer Networks. Full
course.
An
introduction to the fundamental concepts in the design and implementation of
computer communication networks. Topics
include network topologies and applications, data link protocols, local area
networks, routing and high-speed networks.
Examples will be dawn primarily from ATM and TCP/IP protocols.
Prerequisite: Computer Science 225 or equivalent.
374:
E2 Digital Electronics and
Microcomputers. Full course.
An
introduction to digital electronics and microcomputer architecture. The course includes a three-hour lab in which
students study existing electronic designs and develop their own projects. A final project, which involves both
electronic hardware development and software programming, is a course
requirement. Prerequisite: Computer
Science 225.
380:
D Special Topics. Full
course.
An
opportunity to study in depth an advanced topic of current interest. Students work as teams to complete several
extended research projects.
390:
E Cooperative
Education. Half to two full courses.
420:
A2 Operating Systems. Full
course. (2007-08)
A study of
how computers manage their resources.
Highlights include concurrency, memory management, process and processor
management and scheduling, device control, performance evaluation and system
security. Several operating systems are
compared, including a detailed analysis of the 'UNIX' operating system. Prerequisite: Computer Science 225, 245 or
consent of the instructor.
430:
A2 Compilers and
Interpreters. Full course. (2008-09)
An
introduction to programming language design and implementation. Topics include regular and context-free
grammars, finite automata, parsing, static and dynamic scoping, type checking
and code generation. Students will use
compiler generation utilities to construct a compiler for a C or Pascal-like
language. Prerequisite: Computer Science
225 and 320.
480:
D Independent Study. Quarter
to full course.
An
opportunity for study beyond our current course offerings or for independent
research under the guidance of a faculty member. Prerequisite: Consent of faculty.