Level 400 Courses

Main block

support: compilers and programming environment, logic analyzers, RTOS tools, power analysis, software management tools. Safety and reliability: sources of faults in embedded computing, strategies to find problems and to minimize effects of faults. Embedded design concepts including demands for soft and hard real time features, hardware and software co-design, and evaluation performance.

Reference books and materials M. Barr, A. Massa, Programming Embedded Systems with C and C++, 2nd Ed., O'Rielly Networks, 2007 Noergard, Embedded Systems Architecture: A comprehensive guide for Engineering and programmers, Elsevier, 2004


CPEN 404 Computer Vision and Robotics (3 credits) Prerequisites: CPEN 405

Fundamentals of pattern-recognition and image-analysis techniques, low-level representation, intrinsic images, segmentation, texture and motion analysis, and representation of 2-D and 3-D shape. Vision system and components: camera, illumination, optical systems, computer interface, frame stores, structured lighting, software support. Vision algorithm. Fundamentals of Robotic systems: Mechanics of robots including kinematics, dynamics, and trajectories. Robot types, components and subsystems. Robot Position and Motion: Coordinates and transformations, coordinate frames, kinematics of position and inverse kinematics, kinematics of motion, an introduction to Robot statics and dynamics, mobile robots, task planning and programming, accuracy and repeatability. Sensors, actuators and control. Robot application: automated assembly, robotic work cell design, safety Biological analogies and medical applications of Robotics

Reference books and materials John X. Liu, Computer Vision and Robotics, Nova Science Publishers, 2006 D. Vermon, Computer Vision: Craft, Engineering and Science, Springer-Verlag, 1994 A.J. Koivo, Fundamentals for Control of Robotic Manipulators, John Wiley & Sons, Inc., 1989


CPEN 405 Artificial Intelligence (3 credits) Prerequisites: CPEN 206

History of artificial intelligence, philosophical questions about nature of intelligence, ethical issues in artificial intelligence, nature of knowledge and knowledge based systems, issues of ordering of information, modeling the world. Artificial intelligence design considerations, challenges and issues in artificial intelligence system design. Introduction to LISP programming. Blind and heuristic search concepts and techniques. Game playing and constraint propagation. Machine learning for classification and pattern recognition. Knowledge representation. Logical Reasoning systems. Uncertainty and Planning. Natural Language Processing. Vision: vision level and segmentation, constraint propagation and matching.

Reference books and materials Stuart Russel and Peter Norvig, Artificial Intelligence: A Modern Approach, 3rd Ed., Prentice-Hall, 2003 Eric Bonabean, Marco Dorigo, Guy Theraulaz, Swarn Intelligence: From Natural to Artificial Systems, Oxford University Press, 1999


CPEN 406 Wireless Communication Systems (3 credits) Prerequisites: CPEN 308

History and overview of wireless communication, reasons for studying wireless transmissions, areas of applications, relevance of wireless systems in computer engineering. Wireless transmission issues and challenges. System Design: Basic cellular systems and selection of parameters for system design. Multi-path channels and modulation techniques. Wireless networking, base stations, mobile stations, airlink access, jamming, spoofing, signal intercept, wireless LANs, wireless modems, cellular radiotelephones, optical links, signal modeling, propagation modeling. Wireless security: introduction to physical layer and issues associated with security of the airlink interface. Wireless and mobile computing: wireless standards and compatibility, special problem of wireless and mobile computing, wireless LAN and satellite based networks, mobile internet protocol, mobile aware adaptation, mobile data access, software packages supporting mobile, wireless computing, performance issues, and emerging technologies.

Reference books and materials Theodore S. Rappaport, Wireless Communications: Principles and Practices, 2nd Ed., Addison Wesley, 2002 Ziemer and Tranter, Principles of Communications, 5th Ed., John-Wiley & Sons, 1990




CPEN 407 Software Engineering (3 credits) Prerequisites: CPEN 207

Introduction: Software Engineering. Professional and ethical responsibility. Socio-Technical Systems: Emergent system properties, Systems engineering, Organizations, people and computer systems, Legacy systems. Case Study on Socio-Technical Systems Critical Systems: A simple safety-critical system, System dependability, Availability and reliability, Safety, Security. Case Study on Critical Systems. Software Processes: Process Models. Process Iteration. Rational Unified Process. CASE Technology. Case Study on Software Process Models. Requirements Engineering: Feasibility studies. Requirements: elicitation and analysis. Requirements validation. Requirements management. System Models: Behavioural Models. Data Models. Object Models. Structured Models. UML Notations. Application Architectures: Data processing systems. Transaction processing Systems. Event processing systems. Language processing systems. Object-Oriented Analysis and Design: Objects and Objects Classes. Object oriented design process. Design Evolution. UML. Rapid Software Development: Agile methods. Extreme programming, Rapid application development. Software prototyping. Software Reuse: The reuse landscape. Design patterns. Generator based reuse. Application frameworks. Application system reuse. Introduction to Project Management: Management activities. Project planning Project scheduling. Risk management. Software costing. Mini Project: Typical software engineering project.

Reference books and materials Ian Sommerville, Software Engineering, 7th Edition, Pearson Education Limited, Essex.2004 S. R. Schach, Object-Oriented and Classical Software Engineering, 6th Ed. McGraw Hill, 2005


CPEN 408 Human-Computer Interface (3 credits)

History and overview of human computer interaction including reasons for studying human-computer interaction in engineering, and the relevance of human-computer interaction to computer engineering. Foundations of human-computer interaction including strengths and weaknesses of ranges of human interfaces such as text based systems, graphics, sound, animations, human performance models such as perception, movement, cognition, etc., principles of good human computer interaction design in the context of computer engineering. Graphic user interface: developments interface including textual displays, displays that exhibit alarms and interactions; principles of design using GUIs, GUI toolkits, design principles for web interfaces. Intelligent systems: nature of intelligent systems and implication for sensors and software, special case of mobile systems and location aware systems, problems associated with control passing to agent and user losing control. Human centered software development: structure of large systems that embodies human-computer interaction codes, processes associated with human centered software, functionality and usability, specification of presentation and interaction, prototyping techniques and tools, quality considerations, standards and guidelines. Interactive GUI design: choice of interaction styles, human-computer interaction aspects of common widgets and of screen design, handling human failure, interfaces for computer engineering tools, multi-modal interaction, 3D interaction and virtual reality. GUI programming: user interface management systems, kernel based and client server models for user interface, dialogue independence and level analysis, widget classes and aggregation of widgets, event management and user interaction, geometry management, GUI builders and user interface programming environment, cross platform design. 

Reference books and materials Alan Dix, Gregory D. Abowd, Russel Beale, Human-Computer Interaction, 3rd Ed., Prentice-Hall, 2004 Brenda Laurel, S. Joy Mountford, The Art of Human-Computer Design, Snippet, 1990


CPEN 409 Computer Graphics (3 credits)

Fundamentals of display techniques and graphics systems. Display devices, processors, software, introduction to Graphical Kernel System, Programmer's Hierarchical Interactive Graphics System. Representation of primitive objects. Representation of composite objects. Two-and three-dimensional transformations. Polygon mesh, spline surfaces, super-quadradrics, fractal geometry, octrees, visualization of three-dimensional data sets, geometric transformations. Parallel and perspective projections, three-dimensional view volumes. Depth-buffer, scan-line, depth sorting, area subdivision, octree, and ray-casting methods. Hidden lines and surfaces. Shading and coloring. Interactive graphics and the user interface. Structure of graphics packages 2-dimensional viewing, structures and segments, hierarchical model, graphical user interfaces, interactive input methods. Animation techniques. Color models.

Reference books and materials H. Donald and M. P. Baker, Computer Graphics: C Version, 2nd Ed., Prentice-Hall, 1997 J. D. Foly, A. Van Dam, S. K. Feiner, and J. F. Hughes, Computer Graphics: Principles and Practice in C, 2nd Ed., Addison Wesley, 1995 


CPEN 411 VLSI Systems Design (3 credits)

Historical perspective and future trends of large-scale integrated circuits. Behavioral models and circuit simulation of digital systems. Design methodology. CMOS devices and deep sub-micron manufacturing technology. CMOS inverters and complex gates. Modeling of interconnect wires. Optimization of designs with respect to a number of metrics: cost, reliability, performance, and power dissipation. Designing combinational logic gates in CMOS. Designing sequential circuits. Interconnect and timing considerations, and clocking approaches. Design of large system blocks, including arithmetic, interconnect, memories, and programmable logic arrays. VLSI combinatorial and sequential testing and verification, scan design. Introduction to system design methodologies including hands-on experience

Reference books and materials Jan M. Rabaey, Digital Integrated Circuits: A Design Perspective, 2nd Ed., Prentice Hall, 2003 N. H. E. Weste and K. Eshraghian, Principles of CMOS VLSI Design: A Systems Perspective, 2nd Ed., Prentice-Hall, 1993.


CPEN 412 Web Software Architecture (3 credits)

History and overview of web software architecture models and programming environments pertinent to developing web applications. Web software architecture models. Internet/Web protocols. Web programming environments. Client-server models. Multi-tier software architecture. Front-end design. Client-side scripting. Web server development. Application server development. Server-side programming. Middle ware development. Database servers. Database connectivity. Introduction to XML. Service oriented architecture (SOA). Web services. Web based business Intelligence. Mobile Information systems. Mobile-web applications. Component reuse. Concurrency. Web security. Mini Project.

Reference books and materials Ian Sommerville, Software Engineering, 7th Ed., Pearson Education Limited, Essex.2004. Connolly Thomas M., Begg Carolyn E., Database Systems, 5th Ed., Pearson Education Limited, 2010. Michael P. Papazoglou, Web Services, Principles and Technology, Prentice Hall, 2008.


CPEN 413 Microprocessor Systems and Integration (3 credits)

Historic and overview of microprocessors, reasons for studying microprocessors, application areas, and benefits to computer engineering. Logic design techniques, electrical and timing characteristics of logic components, use of programming logic devices, state machine design. Simple computer architecture: machine instructions and programming; design of a simple computer - ALU, memory system, various internal registers, instruction decoder, basic accumulator-mapped input/output (I/O) design, stack characteristics, context save and subroutine linkage mechanisms, micro-coded control store, additional addressing modes. Programming model of practical microcontroller: inherent/register, immediate, absolute, relative, and indexed/indirect addressing modes; data transfer, arithmetic, logical, branch, and machine control instruction groups. Assembly language programming of microcontrollers: translation of high level language control structures into assembly code, assembly style loop structures, linear and non-linear table lookup techniques, loop control examples, subroutine parameter passing techniques, macros, conditional assembly, structured (top-down, bottom-up) programming techniques. Microprocessor system design. Microcontroller bus signals and timing, address space mapping, memory system timing analysis, external multiplexed bus memory, I/O expansion, interrupts, polled interfaces, I/O ports. Microcontroller peripheral overview: asynchronous serial communications interface, synchronous peripheral interface, analog-to-digital converter, timer subsystem, design applications and device drivers. Microcontroller system design case study using Texas Instruments TMS320-series or Motorola 68HC12.

Reference books and materials J. F. Wakerly, Digital Design Principles and Practices, 3rd Ed., Prentice-Hall, 2000 D. G. Meyer, Microcontroller based Digital System Design, 2001 CPU12 Reference Manual (CPU12RM/AD), Motorola, 2000


CPEN 414 DSP System Implementation (3 credits) Prerequisites: CPEN 304

Common DSP systems and functional elements. Discrete Fourier transforms, Fast Fourier Transform (FFT) and architecture for the FFT. Digital Filter Structures: Structures for FIR and IIR filters, cascade and parallel realization for higher order filters, introduction to the effect of finite word length. Architecture for signal processing: Computer architectures, implementation of bit-parallel, bit-serial, and digit-serial multiplier and adder structures, Harvard architecture and pipelining, general purpose DSP devices (T1 TMS320 family and Motorola DSP family ADSP2100 family), real-time FIR filtering using the general purpose DSP, FFT processing on a general purpose DSP

Reference books and materials Sanjit K. Mitra, Digital Signal Processing: A Computer Based Approach, McGraw Hill, 2004 Van Valkenburg, Analog Filter Design, 2nd Ed., Oxford, 1995 T. W. Parks and C. S. Burns, Digital Filter Design,


CPEN 415 Distributed Computing (3 credits)

History and overview of distributed computing, reasons for studying distributed computing, modern trends in distributing computing and application areas, role of distributed computing in computer engineering. Design, engineering, and evaluation of modern distributed computers. Design: naming, synchronization, latency, and bandwidth. Architectural support: messages versus remote procedure calls versus shared memory models. Structural alternatives: master-slave, client-server, fully distributed, cooperating objects. Coupling: tight versus loose. Distributed filing systems and directory services. Verification, validation and maintenance issues in distributed computing. Fault tolerance and reliability. Replication and avoidabilty. Standards and protocols. Temporal concerns. Data coherence. Load balancing and scheduling. Scalability. Applications. Parallel programming models, communication primitives, programming and compilation techniques, multiprogramming workloads and methodology for quantitative evaluation.

Reference books and materials Hagit Attiya and Jennifer Welch, Distributed Computing: Fundamentals, Simulations and Advanced Topics, John Wiley & Sons, 2004 Vijay K. Garg, Elements of Distributed Computing, John Wiley & Sons, 2002


CPEN 416 Integrated Circuits for Communications (3 credits)

Analysis and design of electronic circuits for communication systems, with an emphasis on integrated circuits for wireless communication systems. Analysis of distortion in amplifiers with application to radio receiver design. Power amplifier design with application to wireless radio transmitters. Class A, Class B, and Class C power amplifiers. Radio-frequency mixers, oscillators, phase-locked loops, modulators, and demodulators.

Reference books and materials R. C. Jaeger and T. N. Blalock, Microelectronic Circuit Design, 2nd Ed., McGraw-Hill, 2004. Howe, Roger, and Charles Sodini, Microelectronics: An Integrated Approach, Prentice Hall, 1996


CPEN 417 Applications of Parallel Computers (3 credits)

Models for parallel programming. Fundamental theoretical issues in designing parallel algorithms and architectures for linear algebra, sorting, Fourier Transform, etc. Survey of parallel machines and machine structures. Exiting parallel programming languages, vectorizing compilers, environments, libraries and toolboxes. Data partitioning techniques. Techniques for synchronization and load balancing. Detailed study and algorithm and program development of medium sized applications.

Reference books and materials Vipin Kumar, InAtroduction to Parallel Computing: Design and Analysis of Algorithm, Snippet, 1994 R. W. Hockney, C. R. Jesshope, Parallel Computers 2: Architecture, Programming, and Algorithms, IOP Publishing, 1988


CPEN 418 Security in Computer Systems (3 credits)

History and overview of computer systems security, reasons for studying security in computer systems, modern trends in computer systems security, role of computer system security in computer engineering. Security risk identification: Descriptive account of the value and cost of acquiring information, privacy and integrity, risk assessment and management, information flow and covert channels, malicious software, analysis of the threat to information security. Protection of computer systems: Coding and cryptography, authentication methods, capabilities, access list and protection domain, standards, principles of security audit and control methods, physical and electronic counter measures to minimize threats, legal factors, database and inference control, security kernels, verification methods. Modeling: Algorithm design, modeling and optimization of secure communication networks, introduction to principles of network management

Reference books and materials W. Stallings, Cryptography and Network Security: Principles and Practice, 5th Ed., Prentice Hall, 2010. Matt Bishop, Computer Security: Art and Science, Prentice Hall, 2003 Ross Anderson, Security Engineering: A Guide to Building Dependable Distributed Systems, John Wiley, 2001


CPNG 422 Multimedia Systems (3 credits)

Fundamentals concepts in multimedia systems. Resource management issues in distributed/networked multimedia systems. QoS routing and multicasting. Traffic shaping, Task and message scheduling, Internet QoS. Adaptive multimedia applications over the Internet. Operating system support for multimedia. Storage architecture and scalable media servers. Compression techniques, synchronization techniques, processor architectures for multimedia.

Reference books and materials Ralf Steinmetz, Klara Nahrstedt, Multimedia Applications, Springer, 2004 Tim Morris, Multimedia Systems: Delivering, Generating and Interacting with Multimedia, Springer, 2000 Alistair D. W. Edwards, Simon Holland, Multimedia Interface Design in Education, Springer Verlag, 1994