Undergraduate Courses

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.



| Home | Admissions | Degree Programs | Faculty | News |
| Research | Facilities | Financial Aid | Students | CEACS Home |


Contact Us
Copyright © 1998, Howard University. All Rights Reserved. Terms of use and disclaimer.