|
Matthew R. Baker
Department of Computer Science University of Maryland, Baltimore County |
Website: http://www.csee.umbc.edu/courses/undergraduate/CMSC201/fall00/
Instructor: Dennis Frey
Course Description:
An introduction to computer science through problem solving and computer programming. Programming techniques covered by this course include modularity, abstraction, top-down design, specifications, documentation, debugging, and testing. Selected topics in computer science are introduced through programming projects in the C language running under a UNIX operating system. The core material for this course includes fractions, recursion, arrays, strings, pointers, records, and files. It is assumed that the students already know the basics of a modern high-level language such as C or Pascal (expressions, basic data types, arrays, and control structures).
Website: http://www.csee.umbc.edu/courses/undergraduate/CMSC202/spring01/
Instructor: Dennis Frey
Course Description:
This course continues the development of programming and problem-solving skills, focusing on recursion, pointers, data abstraction, and procedural abstraction. Topics include introduction to asymptotic notation; data structures, including lists, stacks, queues, hash tables, and elementary binary search trees; sorting and searching; and an introduction to the C++ language and object oriented-programming. Programming projects for this course will use the C and C++ programming languages.
Website: http://www.csee.umbc.edu/~sherman/Courses/203/spring01/
Instructor: Alan Sherman
Course Description:
This course introduces the fundamental tools, topics, and concepts of discrete mathematics needed to study computer science. This course emphasizes counting methods, proof techniques, and problem-solving strategies. Topics include Boolean algebra; set theory; symbolic logic; predicate calculus; number theory; the methods of direct, indirect, and inductive proofs; objective functions; equivalence relations; graphs; set partitions; combinatorics; modular arithmetic; summations; and recurrences.
Website: http://www.csee.umbc.edu/courses/undergraduate/CMSC211/spring02/burt/
Instructor: Gary Burt
Course Description:
An introduction to low-level programming in assembly language. Topics include basic concepts in digital logic, machine representation of numbers and characters, digital arithmetic, addressing techniques, program segmentation and linkage, and assembler construction.
Instructor: Hank Katz
Course Description:
This course covers basic concepts of digital logic, including Boolean algebra, logic gates, simplification of logical expressions, Karnaugh maps, combinational circuit design and analysis, half-adders, full-adders, n-bit adders, decoders, multiplexers, arithmetic logic units, flip-flops, clocked circuit design and analysis, registers, counters, register transfer and computer operation, control unit, random-access memories, and read-only memory.
Website: http://www.csee.umbc.edu/~nicholas/331/webFa01/
Instructor: Charles Nicholas
Course Description:
This course examines the semantics of programming languages. Topics include formal specifications of syntax, declarations, binding, allocation, data structures, control and data flow, and the implementation and execution of programs and functional programming versus imperative programming. Other possible topics include non-procedural and logic programming, object-oriented programming, and program verification. Programming projects will provide experience in several languages.
Website: http://www.csee.umbc.edu/courses/undergraduate/CMSC341/fall01/
Instructor: Dennis Frey
Course Description:
An examination of a range of advanced data structures, with an emphasis on an object-oriented approach. Topics include a further introduction to asymptotic analysis; various binary search trees, including AVL, red-black, and splay trees, skip list and tries as alternatives to binary search trees; data structures for geometric and multi-dimensional data, including quad trees, k-d trees, and interval trees; heaps and priority queues, including binary heaps, binomial heaps, leftist heaps (and/or other mergeable heaps); and B-trees for external storage. Programming projects in this course will focus on implementation issues for data structures and on empirical analysis of their asymptotic performance.
Website: http://www.csee.umbc.edu/courses/undergraduate/CMSC345/spring02/
Instructor: Dennis Frey
Course Description:
This course introduces the basic concepts of software engineering, including software life cycle, requirements analysis, and software design methods. Professional ethics in computer science and the social impact of computing are discussed as an integral part of the software development process. Additional topics may include tools for software development, software testing, software metrics, and software maintenance.
Website: http://www.csee.umbc.edu/~squire/f02-411/cs411.shtml/
Instructor: Jon Squire
Course Description:
This course covers the design of complex computer systems making heavy use of the components and techniques discussed in CMSC 311. All parts of a computer system - CPU, memory, and input/output - are discussed in detail. Topics include information representation, floating-point arithmetic, instructions set design issues (RISC vs. CISC), microprogrammed control, hardwired control, pipelining, memory caches, bus control and timing, input/output mechanics, and issues in the construction of parallel processors.
Website: http://www.csee.umbc.edu/courses/undergraduate/421/spring03/syllabus.html
Instructor: Anupam Joshi
Course Description:
An introduction to the fundamentals of operating systems. Topics include interprocess communication, process scheduling, deadlock, memory management, virtual memory, file systems, and distributed systems. Formal principles are illustrated with examples and case studies of one or more contemporary operating systems.
Website: http://userpages.umbc.edu/~glong/notes/
Instructor: Greg Long
Course Description:
This course is a study of a class of programming languages and tools known as scripting languages. Topics include: writing scripts to control and connect other programs, strengths and weaknesses of interpreted languages, extending scripting languages to include new functionality, embedding functions of a scripting language in other tools, syntax, and usage of regular expressions, and the role of open-source software. Languages studied may include UNIX shell and related tools (sed, awk), Perl, Tcl/Tk, and Python.
Website: http://www.csee.umbc.edu/~tadwhite/441.f02/index.html
Instructor: Tad White
Course Description:
This course studies fundamental algorithms, strategies for designing algorithms, and mathematical tools for analyzing algorithms. Fundamental algorithms studied in this course include graph algorithms, algorithms for sorting and searching, hashing, integer arithmetic, and selected combinatorial tasks. Mathematical tools include asymptotic notations and methods for solving recurrences. Algorithm design strategies include the greedy method, divide-and-conquer, dynamic programming, and randomization.
Website: http://www.cs.umbc.edu/~stephens/crypto/cmsc443.html
Instructor: Brooke Stephens
Course Description:
An introduction to cryptology - the science of making and braking codes and ciphers. Topics include: conventional and public-key cryptosystems, including DES, RSA, shift register systems, and selected classical systems; examples of cryptanalytic techniques; digital signatures, pseudo-random number generation, cryptographic protocols and their applications; and an introduction to the theories of cryptographic strength based on information theory and complexity theory.
Website: http://www.csee.umbc.edu/~kalpakis/Courses/451-fa01/
Instructor: Konstantinos Kalpakis
Course Description:
This course introduces the basic concepts in the theory of formal languages. Topics include regular grammars and finite automata, context-free grammars and push-down automata, Turing machines and the halting problemg, and an introductory treatment of computable and non-computable functions.
Website: http://www.csee.umbc.edu/~iweerako/cs481/cs481.html
Instructor: Ishan Weerakoon
Course Description:
This course introduces the fundamentals of data communication and computer networking, including circuit and packet switching, network architectures and protocols; local/metropolitan/wide-area networks, OSI protocols, TCP/IP suite, X.25; ISDN, network management, and network programming.
Instructor: Alan Sherman
Course Description:
This course will cover selected recent research topics in information assurance, such as social engineering, buffer overflow, malicious code, intrusion detection, denial of service, information warfare, computer forensics, recovery and response, enterprise security, clandestine channels and emissions security, security analysis, security models and formal techniques, and national policy for information assurance.
Instructor: Chris Cather
Course Description:
This course will cover legal, policy, and technical aspects of computer security and their inter-relationships. Technical overview of the Unix operating system from a configuration and system administration standpoint. Using Unix as a basis, students will develop and evaluate the legal and policy issues inherent in system administration based on Federal standard NSTISSI 4012.
Website: http://www.csee.umbc.edu/~kalpakis/Courses/621-fa03/
Instructor: Konstantinos Kalpakis
Course Description:
A detailed study of advanced topics in operating systems, including synchronization mechanisms, virtual memory, deadlocks, distributed resource sharing, computer security and modeling of operating systems.
Website: http://www.csee.umbc.edu/~chang/cs641.s04/
Instructor: Richard Chang
Course Description:
Fundamental algorithms, mathematical tools for analyzing algorithms, and strategies for designing algorithms. Topics include graph algorithms (including network flow), parallel algorithms, and algorithms for selected combinatorial tasks. Tools include asymptotic notations, recurrences, amortized analysis, and probabilistic analysis. Strategies include divide and conquer, greedy, dynamic programming, time space tradeoff, and randomization. Introduction to NP completeness.
Website: http://www.cs.umbc.edu/courses/graduate/CMSC691A/Spring04/
Instructor: Anupam Joshi
Course Description:
This course will cover the fundamentals of security in emerging open, dynamic environments created by wireless networks, embedded/handheld/wearable computers, and the WWW. Traditional approaches, which assume closed, physically protected networks and rely on authentication to establish authorization do not work well in this environment. We will study the issues involved, and the recent efforts from the research community in the area.
Instructor: Jagmohan Kapoor
Course Description:
Topics of this course include: logarithmic and exponential functions, inverse functions, methods of integration, improper integrals, hyperbolic functions, sequences and infinite series, power series, Taylor series, applications, conic sections, and polar coordinates.
Instructor: Osman Güler
Course Description:
Topics of this course include: linear equations, Gauss-Jordan reduction, matrices and determinants and their properties, vector spaces and subspaces, basis and dimension, linear transformations, kernel and range, eigenvalues and eigenvectors, and matrix diagonalization.
Instructor: Florian Potra
Course Description:
Topics of this course include: solutions of first- and second-order linear differential equations, non-linear exact and separable equations, integrating factors, homogeneous equations, higher-order linear equations, initial boundary value problems, solutions as functionsof the equation parameters, Laplace Transforms, power series solutions for Bessel and Legendre equations, difference equations, and numberical methods.
Instructor: Jacob Kogan
Course Description:
Topics of this course include: vectors, lines, plances, and surfaces in three dimensions. Vector functions and their derivatives. Partial derivatives, gradients, directional derivatives, maxima, minima, Lagrange multipliers, Multiple integrals, area, volume, surface area, integration in different coordinate systems, Line integral, Green's theorem, Stokes' theorem, and divergence theorem.
Instructor: Muddappa Gowda
Course Description:
This course is a systematic study of basic analysis with an emphasis on formal proofs, examples and counter examples. Topics include properties of the real line, sequences, series, limits, continuity and differentiation of functions, and Riemann Integration.
Instructor: Charles Toll
Course Description:
The basic abstract algebraic structures (rings, integral domains, division rings, fields and Boolean algebra) will be introduced, and the fundamental concepts of number theory will be examined from an algebraic perspective. This will be done by examining the construction of the natural numbers from the Peano postulates, the construction of the integers from the natural numbers, the rationals as a field of quotients from the natural numbers, the reals as an ordered field completion of the rationals and the complex numbers as the algebraic completion of the reals. The basic concepts of number theory lead to modular arithmetic, ideals in rings and to examples of integral domains, division rings and fields as quotient rings. The concept of primes yields the algebraic concepts of unique factorization domains, Euclidean rings, prime and maximal ideals of rings. Examples of symmetries in number theory and geometry lead to the concept of groups whose fundamental properties and applicaions will be explored. PHYS 101::Ideas in Modern Physics::::Joel Sinsky::::A one-semester, general interest course for the non-science major, introducing concepts of modern physics such as relativity, quantum mechanics, and atomic and nuclear physics.
Instructor: Terrance Worchesky
Course Description:
This course emphasizes classical mechanics. Topics include force, particle kinematics and dynamics, equilibrium, Newton's laws of motion and gravitation, rotational motion, collisions, momentum, energy, and conservation laws.
Instructor: Ivan Kramer
Course Description:
This course emphasizes electricity, magnetism, heat and thermodynamics. Topics include Coulomb's law, Gauss's law, electric fields and electric potential, currents, simple circuits and Kirchoff's laws, generation of magnetic fields by charges in motion, electromagnetic induction, magnetic materials, oscillatory circuits, an introduction to Maxwell's equations and electromagnetic radiation, temperature, heat, and the laws of thermodynamics.
Instructor: Inmaculata Curiel
Course Description:
An introduction to applied statistics designed for science majors and others with demonstrated quantitative bility. Topics include nature of statistical methods, random variables and their distribution functions, general principles of estimation and hypothesis testing. A laboratory introduces students to computer techniques in statistical analysis.