Courses
Topic Course Teacher Description
Creating and Using Components
CIS H221 Bruce Weide A study of how to program, using different data types from integers to queues to binary search trees, in code documentation, exploration of specification/implementation problems. Programs written in C++.
CIS H222 Bruce Weide Continuation of 221, more emphasis on building components and building components on top of those components. Programs written in C++.
CIS 321 Mary Beth Lohse Continuation of 222, focus of course shifts from component issues to building a larger system. Emphasizes teamwork. Programs written in C++.
Computer Architecture and Processor Design
CIS 360 Neelam Soundajaran An overview of basic computer architecture including busses, processor, primary and secondary memory, machine code, assembly programming, and how it all works together. Programs written in Sparc Assembly.
CIS 675 Gojko Babic A more in depth look at processor and memory design working up from the gate level. A MIPs processor is studied.
Numerical Methods
CIS 541 Ramon Moore A look at numerical computability concerns, problems with overflow, how to avoid it, situations where it occurs. Used Maple, Range, and C/C++ for the labs.
System Software
CIS 560 Paul Sivilotti Considered to be one of the make or break courses of the major, it emphasizes teamwork, documentation, and programming skills while teaching about Compilers, Assemblers, and other System Software. Class breaks into small groups and implements a Simulator, Assembler, and Linker Loader for a made up language.
Formal Languages and Automata
CIS 625 Ken Supowit Study of logic, finite automata, regular expressions, regular/irregular languages, Turing Machines, proofs, and other related topics. This class is best described as a thinking class emphasizing formal constructs and their consequences.
Artificial Intelligence
CIS 630 Jim Davis A survey of various AI concepts and practices including Logic Reasoning, Bayesian/Belief/Neural Networks, Expert Systems, Backward and Forward Chaining, Informed/Uniformed Searches, Games, Computer Vision, and other hot topics. This course was a special delight since Jim Davis was fresh out of the AI labs at MIT.
Programming Languages
CIS 201 Sandeep Prabhu Intro to programming course. For me it was an intro to Pascal. Sandeep is a remarkable person.
CIS 459.21 Jun (Jim) Xu A one credit hour crash course in C.
CIS 459.22 Maxim Tomashevsky A one credit hour crash course in C++.
CIS 459.23 Ali Saman Tosun A one credit hour crash course in Java
CIS 459.31 Matt Curtin A one credit hour crash course in LISP. This was taught by Matt Curtin, founder of Interhack, coauthor of the Snake Oil FAQ, partial author of Unix Unleashed, Internet Edition. He presented an excellent if biased class.
CIS 655 Neelam Soundajaran A look at different programming language issues including interpretters vs compilers, static vs dynamic scoping, functional vs iterative, and related topics. Labs were done in Scheme and C/C++.
Operating Systems
CIS 660 Anish Aurora Examines Operating System concepts like File Systems, Resource Management, Virtual Memory, Paging, Inter-process Communication, and other related concepts.
File and Database Design
CIS 570 Mary Beth Lohse A look at file design, data retrieval issues, storage issues emphasizing time and space considerations. A brief look at SQL in a Sybase environment.
CIS 670 Doug Kerr A look at database design covering topics like propositional logic, relational design, normalization, ER diagramming, SQL, and other topics. Used SQL in a Sybase/Access environment.
Data Structures
CIS 680 David Mathias A look at algorithm complexity and analysis, searches, sorts, and proofs with an emphasis on Asymptotic running time. Labs written in C/C++
Networking
CIS 677 Ten (Steve) Lai A look at various networking topics like Cable limitations, Hubs, Routers, Switches, Ethernet, Token Ring, FDDi, Latency, TCP, IP, Sliding Window, HTTP, SMTP, the OSI model, CRC, and other related topics.
2D/3D Graphics
CIS 681 Rick Parent A look at 2D/3D graphics, various Display Types, basic Rendering Algorithms, Line/Polygon Drawing, Perspective, Clipping, Viewing Pipeline, Shading, and other related topics. This was taught by Rick Parent, a decent teacher and well known figure in the field of Animation. Emphasis on Linear Algebra and C/C++ programming.
Software Development
CIS 757 Bill Ogden Read and discussed a selection of famous works on various design paradigms, structured programming, object oriented design, social problems, and several case studies.
Calculus
Math 161 Anbo Le First in an accelerated Calculus Sequence.
Math 162 Henry Glover Continuation of 161
Math 263 Henry Glover Continuation of 162
Linear Algebra
Math 568 Examines Matrix mathematics.
Differential Equations
Math 415 Mitlos A look at partial and ordinary differential equations.
Discrete Mathematics
Math 366 Chris Miller An exercise in logic and proofs covering different proof methods and various mathematical constructs like sets.
Statistics
Stat 427 Study of various statistical distributions and how and when to use them.
Stat 428 Continuation of 427, focus shifts to things like certainty and randomness.
Physics
Physics 131 Mechanics
Physics H132 Electricity and Magnetism
Physics H133 Quantum, Heat, and Waves.
Philosophy
Phil 301 Intro to ancient Greek Philosophy. This was a logically rigorous course spent studying Socrates, Parmenides, Plato, Aristotle, Pythagoras, and others.
Ethics
Comp Studies 367.22 A study of technology and its effects on culture.