| Course |
Description |
Grade |
MATH141
FALL 1999
|
Calculus I: Standard first-year course in single variable calculus, especially for students of science, engineering, mathematics, and computer science. Differential and integral calculus with applications. |
A
|
CS100
Spring 1999
|
Introduction to Computers and Computing: Basic concepts of computer hardware and software. Microcomputer systems and workstations. Networking and the Internet. The interdisciplinary science of computing. Non-major course. |
A
|
CS102
Fall 1999
|
Introduction to Computer Science: Problem solving and algorithm development. Organization and characteristics of modern digital computers. Emphasis on developing good programming habits. Building abstractions with procedures and data. Programming in a modern computing language. |
A
|
MATH142
Fall 1999
|
Calculus II: Standard first-year course in single variable calculus,
especially for students of science, engineering, mathematics, and
computer science. Differential and integral calculus with applications.
|
A
|
CS140
Spring 2000
|
Data Structures: Advanced problem solving and algorithm development,
structured programming, data structures and applications, I/O
techniques, lists, queues, trees, algorithms, files.
|
A
|
CS160
Spring 2000
|
Computer Organization: Number systems, Boolean algebra, combinational
and sequential circuits, registers, processor functional units and
control, pipelining, memory and caching, stored program computing,
memory management, computer system organization, assembly language
programming.
|
A
|
MATH251
Spring 2000
|
Matrix Algebra I: First course in the algebra of simultaneous linear
equations and matrices. Includes Gaussian elimination, determinants,
vector spaces, linear transformations, eigenvalues, and eigenvectors.
|
A
|
MATH241
Summer 2000
|
Calculus III: Calculus of functions in two or more dimensions.
Includes solid analytic geometry, partial differentiation, multiple
integration, and selected topics in vector calculus.
|
A
|
MATH231
Fall 2001
|
Differential Equations I: First course, emphasizing solution
techniques. Includes first-order equations and applications, theory
of linear equations, equations with constant coefficients, Laplace
transforms, and series solutions.
|
A
|
MATH300
Fall 2001
|
Abstract Mathematics: Algebra of sets, functions, relations,
mathematical induction, algebraic structure of the real number system,
order properties, and completeness.
|
A
|
CS300
Fall 2001
|
Scripts and Utilities: Practical tools available under Unix to enable
students to become more efficient in performing labs and research
projects. Course will be pass/fail. Topics to be covered include:
sh, cat/grep/find/sort/at/ed/sed, awk, perl, python, make, rcs,
jgraph, gcc/cpp/purify/quantify.
|
A
|
CS302
Fall 2001
|
Fundamental Algorithms: Design, analysis, and implementation of
fundamental algorithms, such as sorting and searching, and their data
structures.
|
A
|
CS311
Spring 2002
|
Discrete Structures: Equivalence relations, partial ordering.
Combinations, permutations, analysis of algorithms. Finite automata
and regular languages.
|
A
|
MATH371
Spring 2002
|
Numerical Algorithms: Development and application of fundamental
algorithms for finding roots of equations, solving systems of linear
equations, interpolating, fitting data using least-squares,
differentiation, integration, and solving ordinary differential
equations.
|
A
|
CS360
Fall 2002
|
Systems Programming: Introduction to user-level systems programming:
file control, process control, memory management, system utilities,
networking programming.
|
A
|
MATH471
Fall 2002
|
Numerical Analysis: Introduction to computation, instabilities, and
rounding. Interpolation and approximation by polynomials and piecewise
polynomials. Quadrature and numerical solution of initial and boundary
value problems of ordinary differential equations, including stiff
systems.
|
A
|
CS365
Spring 2003
|
Programming Languages and Systems: Language paradigms (procedural,
functional, object-oriented, logic), language design and
implementation issues, and language issues related to parallelism.
|
A
|
CS380
Spring 2003
|
Theory of Computation: Countability and diagonalization. Finite
automata and regular sets. Push-down automata and context-free
languages. Introduction to Turing machines and undecidability.
|
A
|
CS530
Fall 2003
|
Computer Systems Organization: Architectures and systems organization
for serial and parallel machines.
|
A
|
CS594np
Fall 2003
|
UNIX Network Programming: This will be a programming-intensive course
focussing on the implementation of a simplified TCP/IP stack. Text:
Stevens' UNIX Network Programming volume I. Networking basics, the
TCP/IP stack, gateways, routing, etc.
|
A
|
CS580
Spring 2004
|
Foundations: Finite automata and regular sets, push-down automata and
context-free languages, Turing Machines, recursively enumerable sets,
undecidability, Cook's theorem and NP-completeness.
|
AUDIT
|
CS594par
Spring 2004
|
Building a Parallel Processor: Creating a program like MPI and PVM by
connecting processes on workstations together using sockets, so that,
say, 5-6 workstations can share the processing load--just as MPI and
PVM do. Part of the course will be considering different topologies,
and looking at scalability and both static and dynamic load balancing.
For testing, the emphasis will be on non-numeric parallel
algorithms--sorting, graph algorithms, etc. The overall goal is to go
through a design and testing process and build a working parallel
machine.
|
A
|
CS593TCP/IP
Spring 2004
|
Network Kernel: Building my own version of the TCP/IP stack including
a virtual ethernet and ARP to routing and sockets. This model will
try to follow the OSI model as closely as possible and build each
component as a separate module with their own required threads. As
little interdependence among the modules even if there are performance
hits. The planned modules are EtherLink, ARP, IPv4, UDP, TCP, Socket and
a number of communication network applications.
|
A
|
CS594DS
Fall 2004
|
Distributed Systems: This course focus on the principles behind distributed systems ranging from clusters to wide area networks and the internet. It was mostly a theoritical class that dealt with history of distributed systems and their design prinicples.
|
A
|
CS594CC
Fall 2004
|
Cluster Computing: This course was taught by ICL and focused on the design and principles behind cluster computing. It was a hands on course that had the students build actually clusters, work with various linux systems and cluster applications (ie pvfs, beowulf, oscar, etc.) and do various benchmarking tests.
|
A
|
CS494CNS
Fall 2004
|
Computer Network Security: This course covered security risks and counter measures, principles of computer cryptography and applied cryptography. It was a practical class that was meant to increase the students understanding of computing security vulnerabilities and the techniques and tools for developing secure applications and practing safe computing.
|
A
|
CS581
Spring 2005
|
Analysis of algorithms and relevance of analysis to design of efficient computer algorithms. Sorting, searching, graph algorithms, pattern matching, divide and conquier programming, dynamic programming, greedy algorithms, P and NP, and efficient approximation algorithms.
|
B+ (highest)
|
CS560
Spring 2005
|
Operating System Design: A standard operating systems class. The goals are to learn concepts in the design, implementation and performance of operating systems.
|
A (A+)
|