Spring 2006
CS101 Survey of Computer Science
An overview of hardware, software, computers and society, and an introduction
to major application packages, including graphics, slide presentation software,
movie software, word processor, electronic spreadsheet and others. This course
does not count towards the minors or majors in the computer science program.
Weekly lab and class. Click here for course syllabus.
CS 120 Data Structures using Java
An introduction to program design, fundamental data structures, and analysis
of algorithms. Includes contiguous and linked lists (stacks, queues,
and general lists), search and sort techniques, binary trees, tables,
hashing, recursion, and graphs. Three (3) one-hour lectures and one
two-hour laboratory per week. Prerequisite: A grade of "C" or
better in CS 110. Spring semester.
MA 301 - Foundations of Mathematics
An examination of logic, sets,
functions, and methods of proof as a foundation for the study of mathematics.
Other topics covered include
mathematical induction, recursive definitions, relations (equivalence
relations), elementary number theory, transformational geometry, and
some history of mathematics. Prerequisite: Grade of ÒCÓ or
better in MA 233. Spring semester.
CS 495 - Senior Seminar
Various topics not covered
in other computer science courses are researched and discussed. Students consider
selected readings, and each makes a
presentation and leads a discussion on a chosen topic. Normally taken
in the last year of residence. Spring semester.
Fall 2007
CS 110 Introduction to Computer Science Using Java
An introduction to the fundamentals of programming and software development
using the object oriented programming language Java. An integrated laboratory
provides experience in programming and algorithmic problem-solving. Topics
include computing and object-oriented design methodology, Java fundamentals,
modifying objects, control constructs, function usage basics and libraries,
programmer-defined functions, parameter passing, arrays, the class construct
and object-oriented design, event-based programming, and implementing abstract
data types. Three (3) one-hour lectures and one two-hour laboratory per week.
Fall semester.
CS 309 Computer Architecture
An introduction to computer design and implementation by viewing the modern
computer as a hierarchy of levels. The digital logic level, the microarchitecture
level, the instruction set architecture level, the operating system machine
level, and the assembly language level are all discussed. An integrated laboratory
applies the concepts studied through the use of an actual assembler or simulation
software. Three (3) one-hour lectures and one two-hour laboratory per week.
Fall semester
MA 328 Discrete Mathematics
A look at some actual applications of discrete mathematics that emphasize such
unifying themes as mathematical reasoning, algorithmic thinking, modeling,
combinatorial analysis, the kinds of structures used in discrete mathematics,
and the use of technology. Possible topics include cryptography, primes and
factoring, computer passwords, networking problems, shortest paths, scheduling
problems, building circuits, modeling computation, and correctness of algorithms.
Three (3) one-hour class periods with a substantial computing component illustrating
the technology and the ideas studied. Prerequisite: Grades of ÒCÓ of
better in MA 131-232. Fall semester.
MA/CS 403 Introduction to Modern Cryptography
This course is intended to be an introduction to the essential core areas of
modern cryptography. We begin with a look at historical cryptography and
then move into more modern concepts. Mathematical background is provided
as needed and informal descriptions of the cryptosystems along with more
precise pseudo-code descriptions are given. Algorithms and systems will be
illustrated with many examples, and their mathematical underpinnings carefully
explained. Because of the heavy use of mathematics made in this course (number
theory, discrete mathematics, probability, linear algebra and probably some
calculus), this course is cross-listed and may be taken for either mathematics
or computer science credit. |
|