Programming Fundamentals Building Software Systems

Appendix B – Sample Curricula 2004 December 12 ELE D

302: System Control

Review of complex numbers, superposition, compound systems; frequency domain representation; Laplace transform representation; system representation in time domain; first and second order systems; damping, stability, poles, and zeros; feedback block diagrams; open loop and closed loop systems; steady state error; introduction to Bode plots and Bode plot analysis introduction to proportional control. Prerequisites: ELE D 301 Credit Hours: 3 Lecture Hours: 42 Lab Hours: 14 Recitation Hours: 14 CE2004 BOK Coverage: CE-CSG 9. ELE D

303: Digital Signal Processing

Purpose of digital signal processing DSP, theories and concepts, role of DSP in the context of computer engineering; analysis of digital spectra; application of discrete Fourier transforms, convolution types; filtering, digital filtering; transforms; discrete time signals; sampling issues; applications to include image processing, audio processing; use of relevant software tools. Prerequisites: ELE D 301 Credit Hours: 3 Lecture Hours: 42 Lab Hours: 14 Recitation Hours: 14 CE2004 BOK Coverage: CE-DSP 0-11 SWE D

101: Programming Basics

Introduction to the concepts of requirements and specification; basic concepts associated with programming languages and their translation; elementary programming, primitive data types, operations, simple language constructs; simple algorithms and problem solving involving counting, scanning elements, selecting elements such as maxima and minima, iteration; use of arrays, strings and simple pre-defined classes; routines or methods as a fundamental abstraction mechanism; principles associated with and the design and construction of these; use of simple libraries, classes; simple aspects of quality of software; the related activities of software testing and validation. Prerequisites: Two courses in calculus and two courses in physics Credit Hours: 3 Lecture Hours: 28 Lab Hours: 28 Recitation Hours: 14 CE2004 BOK Coverage: CE-PRF 0-3, CE-SWE 0-1. SWE D

102: Programming Fundamentals

Concepts from predicate logic; ideas from object-oriented programming, methods, classes, information hiding, and inheritance; fundamental algorithms, sorting and searching; fundamental data structures, linked data structures, user defined classes; concept of recursion, benefits and problems; exception handling; using APIs; simple graphics programming; concept of software design. Prerequisites: SWE D 101 Credit Hours: 3 Lecture Hours: 28 Lab Hours: 28 Recitation Hours: 14 CE2004 BOK Coverage: CE-PRF 4-8, CE-SWE 2-3. SWE D

201: Building Software Systems

Concepts of open source, shareware, freeware; issues of quality, conditions of use, availability; issues of software reuse; program libraries, software components; creation of additional libraries and other components; application program interfaces; use of separate compilations; use of software libraries and other software components; problems of building large systems; assessment of software including interfaces such as metrics and measures; criteria; simple principles of interface design; multimedia issues; special problems associated with color, sound, video and multimedia; advanced issues in object-oriented programming, modularity, storage management issues, parallelism; client server computing, different kinds of servers, the role of middleware; overview of the software support needed for client services and server services; illustrations of the use of object oriented techniques applied to the building of certain commonly used software tools; applets and servelets; simple design patterns; nature of the software life cycle and its different phases; concept of process; differences across various developments and the reasons for the differences. Prerequisites: SWE D 102 Credit Hours: 3 Lecture Hours: 28 Lab Hours: 28 Recitation Hours: 14 CE2004 BOK Coverage: CE-HCI 4-10, CE-PRF 8, CE-SWE 6-7. - B.33 - Appendix B – Sample Curricula 2004 December 12 - B.34 - SWE D

301: Software Engineering