CS 282 Intro to Information Systems Concepts (3.00)
Introduces information systems concepts, architectures, and technologies emphasizing information system resources needed to meet organizational mission and objectives. Focuses on information systems from the business viewpoint including processes, value proposition, and different types of information systems. Presents key areas of networking, databases, and software applications to provide an overall information systems background. Explores research, case studies, and different information system applications to gain familiarity with the foundational concepts of information systems.
Cross listing(s): BA 282 BA 282.
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.
Pre-requisite: CS*427
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.
Pre-requisite: CS*308
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.
Pre-requisite: CS*300
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.
Pre-requisite: MT*360B
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.
Pre-requisite: MT*360A
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.
Pre-requisite: CS*427
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.
Pre-requisite: CS*308
CS 490E-W Indep. Study/computer Science: (1.00 - 3.00)
Explores areas of interest. Content to be arranged. Concludes with a written report.
CS 498E-W Internship/Computer Science (3.00)
Involves placement of advanced computer science students in industry, government or other agencies. Faculty approval, supervision and evaluation of students' work required.
Pre-requisite: CS*456
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 415 Linear Algebra (3.00)
Studies vector spaces, linear transformations, matrices, determinants, systems of equations, eigenvalues and characteristic matrices.
Pre-requisite: MT*360A
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;