CS 300 Foundation of Computer Science (3.00)
Introduces foundational concepts of computer science including algorithm design, iteration, recursion, abstract data types, file structures, Boolean algebra, lists, graphs, trees and networks. Uses Java as a "description" language for expressing algorithms. Uses tracing techniques extensively.
CS 308 Introduction to Programming (3.00)
Introduces the fundamental constructs that are common to all modern computer languages. Emphasizes basic programming skills with loops, conditionals, methods and arrays.
CS 417 Artificial Life (3.00)
Explores the theory and application of genetic algorithms that model the biological process of evolution. Creates artificial life forms that evolve to solve complex problems. Includes exploration of evolutionary programming, or code that writes itself.
CS 427 Object Oriented Software Dev (3.00)
Develops advanced programming skills using objects, classes, instance variables, inheritance, and polymorphism. Examines object behavior and identity, along with encapsulation of state. Explores late binding, inner classes and the problems and advantages of multiple inheritance.
CS 429 Automata Theory (3.00)
Studies applications of automata theory to lexical analysis, syntax analysis, regular expressions, non-deterministic finite state automata, top-down and bottom-up parsing techniques and syntax-driven code generation. Requires implementation of a recursive descent parser of the LL (1) variety and an LR (k) parser.
Pre-requisite: CS*300 AND CS*308
CS 431 Operating Sys Design/Analysis (3.00)
Includes processor scheduling, multiprocessor scheduling, deadlock detection and prevention, memory management, hashing, performance directed cache design, multilevel cache hierarchies, virtual memory, demand paging, thrashing and locality, disk scheduling, distributed systems, networked environments, and performance analysis based on mathematical modeling techniques.
Pre-requisite: CS*300 AND MT*360A
CS 435 Data Structures (3.00)
Studies data organization and structure. Includes relations, graphs, trees, primitive and structured data types, arrays, records, files, fields, ordered lists, linked lists, directories, mappings, addressing schemes and complex files.
Pre-requisite: CS*300 AND CS*308
CS 439 Computer Architecture (3.00)
Describes the organization of modern computers. Discusses the Von Neumann architecture, binary representations of data, instruction set architectures, assembly language programming, pipelining and instruction-level parallelism, the memory hierarchy, and input/output architectures. Introduces multiprocessor systems and networking.
Pre-requisite: TAKE CS*308;
CS 441 Digital Design Theory & Technologies (3.00)
Studies combinational and sequential logic circuits using standard and mixed logic. Includes minimization, multiplexers, demultiplexers, plas, counters, registers, decoders, encoders, flip-flops, finite sate machines, design of RISC machines, systolic architectures, nmos, pmos, CMOS, VLSI design using stick diagrams, channel routing algorithms, design for test, latch-up and fabrication techniques.
CS 446 Database Design and Analysis (3.00)
Emphasizes the relational model including a relational algebra, a relational calculus, functional dependencies, irreducible covers, normalization, database integrity, domain checking, closure, data protection, optimization of queries, distributed databases, client server systems and object oriented systems.
Pre-requisite: CS*300 AND CS*308
CS 449 Algorithms and Complexity (3.00)
Concentrates on NP-complete problems and the algorithms that solve NP-complete problems. Involves designing and analyzing algorithms from an efficiency point of view.
CS 451 Telecom: Applied Digital Signal Process (3.00)
Introduces digital signal processing synthesis and analysis, the Fourier and Fast Fourier transform, and computational and programming techniques.
CS 456 Software Engineering (3.00)
Examines object-oriented techniques to ensure reliable, flexible, modular, and well-designed software. Introduces UML and the software lifecycle including project management and quality assurance. Emphasizes the implementation of design patterns such as the Bridge, Abstract Factory, and Singleton.
CS 462 Computer Systems Performance Analysis (3.00)
Covers mathematical models based on queuing theory, stochastic processes, Markov chains and mean value analysis. Discusses applications to computer systems for the purpose of optimizing performance. Includes problems and a project requiring the modeling contemporary disk technologies and system balancing techniques.
Pre-requisite: CS*300 MT*360A
CS 464 Artificial Intelligence: Neural Networks (3.00)
Reviews the artificial intelligence field followed by an intense treatment of neural net theory and technologies. Examines Hopfield networks, Boltzmann networks, back-propagation algorithms, mathematical convergence criteria, and neural net applications to classical problems such as TSP.
Pre-requisite: CS*308 AND MT*360A
CS 470 Cellular Automata Social/Physical Apps (3.00)
Uses behavior of cellular automata to explore theories of computation and complexity. Investigates universal computability and the emergence of complex natural behaviors from simple computational systems. Example applications in physics, biology, sociology.
MT 360A Calculus I (4.00)
Treats standard topics of single variable calculus including limits, continuity, derivatives, applications of derivatives, and elements of integration.
MT 360B Calculus II (4.00)
Continues treatment of single variable calculus including definite and indefinite integrals, applications of integrals, transcendental functions, techniques of integration and infinite series.
MT 360C Calculus III (4.00)
Presents topics of multivariable calculus including calculus of vector functions, multivariable functions, partial derivatives, multiple integrals, applications and other topics as time permits.
MT 405 Numerical and Computational Methods (3.00)
Uses computers in solving linear and nonlinear equations, approximation theory, numerical integration and differentiation, numerical solution of differential equations and linear programming.
MT 463 Differential Equations (3.00)
Studies solutions first and second order different equations, applications, linear differential equations, series solutions, laplace transforms, numerical solutions, and systems of linear differential equations with constant coefficients.
PH 304A General Physics with Calculus I (3.00)
Discusses fundamental concepts of motion, including Newton's Laws and the conservation of energy, momentum, and angular momentum. Focuses on the development of quantitative and qualitative problem-solving skills.
PH 304B Gen Physics with Calculus II (3.00)
A continuation of PH 304A,focusing on electricity, magnetism, and waves. Includes an introduction to quantum mechanics.
PH 305A General Physics with Calculus I (1.00)
Compliments PH 304A, providing practical, hands-on experience primarily with experiments related to mechanics.
PH 305B General Physics Lab with Calculus II (1.00)
Compliments PH 304B, providing practical, hands-on experience primarily with experiments related to mechanics.
PH 408 Analytical Mechanics/Special Relativity (3.00)
Reviews Newtonian mechanics. Introduces calculus of variations and the Lagrangian and Hamiltonian formulations. Describes collisions and oscillations, including normal modes of coupled systems. Introduces relativistic kinematics.
Pre-requisite: TAKE PH*304A MT*463;
PH 410 Electricity and Magnetism (3.00)
Studies Coulombs law through the electromagnetic field of moving charge. Develops electrostatic fields in vacuum and in dielectrics, magnetic fields associated with constant and variable currents in vacuum and in magnetic materials, Maxwell's synthesis, and the propagation of electromagnetic waves in vacuum, in dielectrics and in good conductors.
Pre-requisite: TAKE PH*304B AND MT*360C;
PH 420 Electronics (4.00)
Discusses electronics and circuits. Includes AC and DC circuit analysis, physics of semiconductor devices, applications of transistors and operational amplifiers, and an introduction to digital logic and computer interfaces. NOTE: One three-hour lab per week.
Pre-requisite: TAKE PH*202B AND PH*304B;
PH 451 Modern Physics Laboratory & Seminar (2.00)
Exploration of quantum and relativistic phenomena, application of statistical methods to experimental data, and discussion of ethical considerations in physics research.
Pre-requisite: TAKE PH*304B;
PH 460 Quantum Theory & Spectroscopy (3.00)
Formal development of the theory of quantum mechanics with applications to electronic, vibrational, and rotational structure of molecules, spectroscopic techniques, and chemical bonding.
Pre-requisite: TAKE PH*304B AND CH*230;
Cross listing(s): CH 430B.
PH 465 Statistical Mechanics & Thermodynamics (3.00)
Application of statistical methods to explain the laws of thermodynamics. Includes discussion of temperature, multiplicity of states, entropy, Boltzmann factors, and the partition function, applied to systems including ideal gases, quantum gases, and solids.
Pre-requisite: TAKE PH*304B;
PH 475 Physics Capstone Seminar (1.00)
Review of and reflection on the physics curriculum, including extensions of selected assignments completed in previous courses. Discussion of the ethical considerations faced by practicing scientists.