| 300-101 |
Introduction to Engineering |
2 Credits |
Provides information on engineering education the engineering profession and basic concepts and tools. Introduces the
engineering design process and provides the opportunity for students to complete engineering design projects.
|
| 306-135 |
Introductory Programming |
4 Credits |
Provides an introduction to the discipline of computer programming. Closed laboratory to reinforce lecture topics and introduce new topics.
Students will program in C++. Topics include: introduction to programming and environments, classes, member functions, arrays,
abstraction, encapsulaton, information hiding.
|
| 306-136 |
Elementary Data Structures |
3 Credits |
Introduces the student to the fundamental data structures of computer science and discusses their implementation in object-oriented
languages such as C++. Performance of algorithms to manipulate these data structures will be discussed. Topics include: pointers, recursion,
linked lists, stacks, queues and trees. Prereq.: 306-135.
|
| 306-164 |
Digital Computation |
2 Credits |
Introduces programming and use of digital computers. Programming concepts include algorithms, flow diagrams, the symbology for
defining logical processes and the analysis of computational problems.
|
| 306-165 |
Elementary Computation |
3 Credits |
Introduces programming and use of digital computers. Programming includes general problem-solving and the systematic development of algorithms; use
includes the coding of programs and practical experience in operating computers and peripheral equipment.
|
| 306-201 |
Computer Fundamentals |
3 Credits |
Introduction to the logical basis of computer structure. Covers concepts such as internal coding of numbers and characters, arithmetic and logical operations,
program in memory, machine codes, flow of control, indexing, indirect addressing, input/output, subroutines and linkage, list management,
and coding of programs in assembly language. Coreq: 306-164 or 306-165.
|
| 306-270 |
Foundations of Discrete Structures |
3 Credits |
Introduces basic concepts of discrete structures relevant to computer science. Special emphasis on abstraction, proof techniques, applications to
computer science. Prereq.: 306-202.
|
| 306-321 |
Computer Graphics |
3 Credits |
Display memory; generation points and vectors; interactive versus passive graphics; analog storage; pattern recognition by features, syntax tables and random
nets; data structures and graphic software; mathematics of three dimensional projections and the hidden line problem; problems in computer-aided design. Prereq.: 306-317.
|
| 306-350 |
Structure of Programming Languages |
3 Credits |
Introduces finite automata and formal languages; regular languages; context-free languages; top-down, bottom-up parsing; elements of the design of
languages; survey of procedural languages; functional languages; introduction to LISP; programming in logic, object-oriented
languages. Prereq.: 306-352.
|
| 306-354 |
Advanced Data Structures |
3 Credits |
Continuance of the discussion of data structures and algorithms for manipulation at an advanced level. Additional topics include: recursion removal and
simulation, hashing, graphs, file systems, and networks. Prereq.: 306-135.
|
| 306-363 |
Large-Scale Programming |
3 Credits |
Introduces some of the basic principles of software engineering in the context of a moderate-sized programming project. Students will program extensively
in Java. Prereq.: 306-354.
|
| 306-375, 376 |
Systems Engineering I & II |
3 Credits each |
Methodology for planning, analyzing and evaluating optimal systems: identifying and structuring objectives and defining performance
requirements which influence the design of the system. Synthesizing and analyzing alternative solutions and applying optimazation techniques for the
optimum queing system. Applications to real world systems with open and closed queues with emphasis on computer systems using microcomputer
software packages. Prereq.: 306-250 and 015-159.
|
| 306-401 |
Operating Systems |
3 Credits |
Topics covered include system calls and system programs, interrupt handling, device and memory management, process scheduling, deadlock and the trade-offs in
the design of large-scale multitasking operating systems. Several case studies will be used with special emphasis on the UNIX operating system.
Prereq.: 306-354.
|
| 306-410 |
Computer Simulation and Modeling |
3 Credits |
Introduces the fundamentals of system design and modeling. Emphasizes advantages and limitations of various modeling techniques for different
applications. Introduces probability distributions typical of queueing models and presents in-depth discussions and experiments
with existing simulation packages. Prereq.: 306-352 and 306-376.
|
| 306-450 |
Operations Research |
3 Credits |
Techniques of systems analysis through linear programming and its network extensions. Linear programming concepts and functions; linear algebra, geometry
of linear programs, simplex procedure, dual problems. Network problems; transportation, assignment, transshipment, shortest path and critical path problems.
Application to urban systems problems are stressed throughout. Prereq.: 015-157.
|
| 306-470 |
Analysis of Algorithms |
3 Credits |
Introduces the analysis of algorithms and predictions of behavior of the programs that implement them. Topics covered include: models of computation, divide and conquer
techniques, greedy algorithms, searching and sorting methods, and the mathematics necessary for this work. Prereqs.: 306-354, Advanced Data
structures; 015-157, Calculus II; Coreq.: 015-158, Calculus III.
|
| 306-472 |
Systems Management Analysis |
3 Credits |
Presents methodology for large-scale system design. Identification and definition of large-scale (community/industrial-based) problems. Discusses how to
select and quantify measures of the severity of the problem. Presents different techniques for modeling alternative solutions to problems.
|
| 306-478 |
Engineering Economic System Design |
3 Credits |
Presents methodology for system design. Methodology begins with identification and definition of private sector problems to which solutions are
justified by economics. Discusses selection of appropriate economic measures for comparing alternative solutions such as present worth,
equivalent annual cost, cost/benefit ratio, life cycle cost, return on investment pay back period. Presents different techniques for
modeling alternative solutions to the problems and predicting cost. Other topics discussed include decision-making, system
implementation, operations and retirement. Prereq.: 306-376.
|
| 306-491 |
Senior Project I |
2 Credits |
Allows the senior student the opportunity to demonstrate his or her knowledge of systems engineering and computer science principles
by application to a class project of his or her choosing, with the guidance and supervision of a faculty member. The student develops a
proposal for the project, followed by an architectural design and detailed design, all of which must be presented in class.
|
| 306-492 |
Senior Project II |
2 Credits |
In part two, the senior students develops and implements the system solution to the proposed project.
The system, most commonly comprising computer software, hardware, procedures, etc., is implemented and tested in the department's
Systems Development Laboratory. The student is required to demonstrate the system solution to the faculty and the student body
of the department.
|