Engineering Course Descriptions

(2008/10 Catalog)


CPE 334 Digital Signal Processing (3 credits) (3,0)
Introduction to digital signal processing, sampling and quantization, A/D and D/A converters, discrete time systems, convolution, z-transforms, transfer functions, digital filter realizations, and fast Fourier transforms. Introduction to filter design and digital audio applications.

Prerequisite: ELE270

CPE 335 Filter Design (4 credits) (3,2)
Design of analog lowpass, bandpass and highpass filters; design of digital FIR and IIR filters; implementation of general purpose digital signal processors. Applications to music, speech, and video. Requires use of MATLAB.

Prerequisite: CPE334

CPE 370 Microprocessors (3 credits) (2,2)
Basic computer organization, microprocessor instruction sets, assembly language, and software and hardware design and interfacing. Software and hardware development, testing, and validation.

Prerequisite: SWE 315

CPE 380 Advanced Digital Design (3 credits) (2,2)
Advanced techniques in the design of digital systems. Hardware description languages, combinational and sequential logic synthesis and optimization methods, partitioning, and mapping to regular structures. Emphasis on reconfigurable logic as an implementation medium. Memory system design. Digital communication including serial/parallel and synchronous/asynchronous methods.

Prerequisite: CPE370

CPE 470 VLSI Systems (3 credits) (2,2)
Digital systems and VLSI, Transistors and layout, logic gates, combination logic, networks, sequential machines, subsystem design, chip design, CAD systems and algorithms, survey of VLSI circuit components and design procedures. MOS fabrication, MOS gates, circuit architecture device design, manufacturing and interface techniques.

Prerequisite: CPE380

CPE 480 Microelectromechanical Systems (3 credits) (2,2)
This course is an introduction to MicroElectroMechanical Systems (MEMS) intended for senior students. MEMS promise reliable performance, miniaturization and low-cost production of sensors and actuator systems with broad applications in data storage, biomedical systems, inertial navigation, micromanipulation, optical display and microfluid jet systems. The course covers materials properties, fabrication techniques, packaging, calibration and testing.

Prerequisite: ELE321

CPE 490 Analysis and Design of Digital Integrated Circuits (3 credits) (2,2)
Analysis and design of CMOS digital integrated circuits using DC and transient analysis techniques. Junction diode, MOSFET characteristics; CMOS static inverter analyses; CMOS combinatorial and sequential gates; MOS memory circuits and systems; low-power design, circuit simulation techniques.

Prerequisite: ELE366

CPE 491 Modeling and Computer Simulation (3 credits) (2,2)
Mathematical modeling and computer simulation for predicting the behavior of complex systems.

Prerequisites: SWE315

CPE 492 Computer Visualization (3 credits) (2,2)
Two and tree dimensional geometry and transformations, image synthesis, shading, realism, special effects. Animation techniques, physics-based modeling, real-time animation.

Prerequisite: CPE491

ELE270 Electric Circuits (4 credits) (3,2)
Analysis of linear circuits; energy and power considerations; The Venin and Nortonequivalent circuits; various network theorems. Applications of Kirchhoff’s voltage andcurrent laws. Transients in RL and RC circuits. Students learn basic principles to analyze electronic circuits.

Prerequisites: MATH134, SCI245

ELE320 Electronic Devices I (4 credits) (3,2)
Diodes, bipolar junction transistors, field-effect transistors, and operational amplifiers. Characterization of device parameters and design of biasing circuits. Equivalent circuits and models. Analysis and design of small-signal and large-signal amplifiers. Characterization of device parameters and design of biasing circuits to obtain specified operation criteria. The terminal properties of the devices and their models are emphasized, together with physical relations necessary to determine the values and limitations of the parameters of the device. Laboratory experiments include the analysis and design of diode circuits, BJT and FET amplifiers and switching circuits, and operational amplifiers. Students are introduced to the basic electronic devices, including device characteristics, circuit models, limitations, and applications.

Prerequisite: ELE270

ELE321 Electronic Devices II (4 credits) (3,2)
Analysis and design of small and large signal amplifiers using discrete and integrated components. Frequency response considerations. Analysis and design of amplifiers, comparators, regulators, oscillators, active filters, and other analog circuits including analog-to-digital and digital-to-analog converters. Design and testing of amplifiers and other analog circuits. Students apply basic device design principles to design and evaluate analog circuits.

Prerequisite: ELE320

ELE350 Digital Circuits I (4 credits) (3,2)

Number systems and number representations; binary codes; Boolean algebra axioms and theorems; logic gates, including the IEEE standard 91-1984 logic symbols; minimization techniques, including algebraic, Karnaugh maps, and Quine-McCluskey; combinational logic analysis and synthesis; adders and subtractors; code conversion; comparators; decoders; encoders; multiplexers; programmable logic devices; analysis and synthesis of synchronous sequential machines; synchronous counters; Moore and Mealy machines. Laboratory experiments use Verilog HDL. Students learn the analysis and synthesis of combinational and sequential logic circuits.

Co-requisite: SWE351

ELE366 Digital Circuits II (4 credits) (3,2)
Sequential machine classification, including Moore and Mealy machines. Analysis of synchronous sequential machines. Terminal states, strongly-connected machines. Moore-Mealy equivalence. Synthesis of synchronous sequential machines, state assignment techniques, minimization techniques (state equivalence). Performance analysis. Sequence detectors. Linear-select multiplexers, non-liner-select multiplexers. Decoders. PLDs. Microprocessor synchronous sequential machines. Error detection in synchronous sequential machines. Analysis of asynchronous sequential machines. Hazards: static, dynamic, essential, multi-level. Oscillations. Races: noncritical, critical. Synthesis of asynchronous sequential machines: primitive flow table, state equivalence, row merging. Synthesis of pulse-mode asynchronous sequential machines. Converting from iterative combinational machines to equivalent sequential machines. Laboratory experiments use Verilog HDL. Students practice combinational logic principles to design sequential circuits.

Prerequisite: ELE350

ELE370 Computer Architecture (4 credits) (3,2)
Organization and architecture of medium and large-scale computer systems. Addressing modes, instruction sets, processor design, microprogramming techniques, input/output subsystem organization, direct memory access, input/output processors, including interrupt structures and priority arbitration techniques, computer arithmetic, memory hierarchies, memory organization, virtual memories, cache memories, and introduction to reduced-instruction-set computer architecture. Students practice sequential logic design techniques to design a 32-bit pipelined reduced-instruction-set computer (RISC) using Verilog HDL.

Prerequisite: ELE366, SWE310

ELE497 Internship (3-6 credits)
Students have the opportunity to work and learn in “real-world” professional environment while earning credits towards their degree. The average requirement for a 3-credit internship is 10-15 hours per week during the 15-week trimester. Cogswell has several local, national and international placement opportunities available to students. Students interested in pursuing an internship must start the application process the trimester before they intend to work.

Prerequisite: Junior Status

ELE498 Special Project (1-6 credits)
Individual or group investigation, research, or study to pursue a special area of interest.

Prerequisite: Permission of Program Coordinator.

ELE499 Special Topic (1-3 credits)
Advanced course dealing with special topics in the engineering field. May be used as elective and may be repeated when topic changes.

Prerequisites: Permission of instructor and advisor

GEN 240 Applied Probability and Random Processes (3 credits) (3,0)
Fundamental concepts of probability, discrete and continuous random variables, probability distributions, sampling, estimation, elementary hypothesis testing, basic random processes, correlation functions, and power-spectral-density functions. Applications include music, speech and image and processing. Requires use of MATLAB.

Prerequisite: MATH134

GEN 310 Engineering Mathematics I: Discrete Mathematics (3 credits) (3,0)
Logic. Set theory. Functions. Relations. Proofs by mathematical induction. Recursion and program correctness. Fundamentals of counting, and discrete probability. Elementary graph theory. Introduction to analysis of algorithms.

Prerequisite: MATH134

GEN 270 Engineering Project Management (3 credits) (3,0)
Approach to project management, project life cycle, project selection and evaluation, organizational concepts in project management, project planning, conflict and negotiation, budgeting and cost estimation, scheduling, resource allocation, monitoring, project control and project termination. The course emphasizes teamwork, case discussions, and student project presentations.

Prerequisite: ENG100.

GEN 295 Sophomore Project (3 credits) (1,4)
Foundation necessary for students to become creative engineers and effective communicators. Total Quality Management (TQM) approach to design. Students will develop several conceptual designs using various brainstorming techniques, evaluate these designs using Pugh’s method, and perform guided iteration to identify optimum designs. Build and test fully functional prototype.

Prerequisite: GEN270


GEN 320 Engineering Mathematics II: Geometry & Transformations (3 credits) (3,0)

Descriptive geometry: points, lines, planes, intersections, spatial relationships. Transformations. Projective Geometry: plane transformations, homogeneous coordinates, space transformations, perspective projection. Differential Geometry: Theory of curves and surfaces. Quaternions and rotation sequences.

Prerequisite: MATH134

GEN 480 Senior Project I: Proposal (3 credits) (1,4)
Application of technical, managerial, communications, and interpersonal knowledge and skills to a realistic engineering project in a team environment. Learn the product development process and complete a significant proposal. Students will undertake industry contributed projects whenever possible. Project presentations will be made to project sponsors in an open forum.

Prerequisite: GEN295, Senior standing

GEN 485 Senior Project II: Implementation (3 credits) (1,4)
Application of technical, managerial, communications, and interpersonal knowledge and skills to a realistic engineering project in a team environment. Apply the product development process and implement a design. Students will implement industry contributed projects whenever possible. Project presentations will be made to project sponsors in an open forum. Students apply software life cycle in a senior project.

Prerequisite: GEN480

SWE110 Computer Programming I: C (4 credits) (3,2)
Introduction to hardware and software tools. Discuss CPU, memory, disks, and files. Program development flow. Introduction to C programming: lexical elements, operators, fundamental data types, flow of controls, functions, recursions, arrays, pointers, strings, bit-wise operators, structures, unions, file manipulation. Students learn structured programming paradigm.

Prerequisite: High school algebra

SWE212 Computer Programming II: Java (4 credits) (3,2)
Primitive types. Strings. Classes. Objects. Methods. References. Polymorphisms. Inheritance. Exception handling. Streams and file I/O. Arrays. Vectors. Applets and HTML.Some fundamental data structures in Java. AWT/Swing programming. Introduction to threaded programming. Students are introduced to the object oriented paradigm.

Prerequisite: SWE110

SWE220 Programming Environments: UNIX/LINUX (3 credits) (2,2)
Structure of UNIX/LINUX file systems. Shell programming. Discuss different shells. Filters. UNIX/LINUX system calls. Documentation Preparation. Standard I/O Library. AWK programming language. SED editor. Students practice programming in the UNIX/LINUX environment.

Prerequisite: SWE110

SWE310 Data Structures and Algorithms (4 credits) (3,2)
Data Structures: Stacks. Queues. Linked lists. Circular linked lists. Double linked lists. Circular double linked lists. Binary search trees. Searching and sorting algorithms. Introduction to graph algorithms. Huffman codes, AVL trees. Hashing. B-trees. Students practice concepts of structured programming and discrete mathematical concepts in data structures and analysis of algorithms.

Prerequisites: SWE110

SWE315 Computer Programming III (4 credits) (3,2)
Non-object oriented features of C++. Classes. Constructors and Destructors. Type Conversions. Friends. Overloading functions and operators. References. Polymorphisms. I/O streams. Multiple Inheritances. Templates. Memory Management. Students practice the object oriented paradigm.

Prerequisite: SWE310

SWE320 Operating Systems (3 credits) (3,0)
General multitasking operating system. Scheduling Algorithms. Deadlocks. Concurrency problems and solutions. Process management. Thread management. Disk management. Memory management. Virtual memory. File system organization. Security. Students learn how UNIX, LINUX, and Windows operating systems are designed. Students practice data structures in operating system design.

Prerequisites: SWE315, SWE351

SWE330 Compiler Design (4 credits) (3,2)

Lexical Analysis. Parsing techniques. Semantics analysis. Run time environments. Introduction to code generation and optimization. Students apply discrete mathematical concepts and data structures in compiler theory.

Prerequisites: SWE320, SWE340

SWE340 Engineering Project I,(3 credits) (2,2)
The software life cycle. Software development methods top-down and bottom-up. Reusability and portability. Documentation development: analysis, specification, design, implementation, testing, operational documents. Inspection walk-through and design review. Students practice project management through software life cycle. Object oriented analysis and design. Managing complexity with abstraction.

Prerequisite: SWE315

SWE350 Embedded Software Systems (3 credits) (2,2)
Technologies used in the design and implementation of embedded systems. Introduction to software tools such as compilers, schedulers, code generators, and system-level design tools. Introduction to computer organization: CPU, I/O, Memory. INTEL/MIPS Assembly languages. Linking C and Assembly Language.

Co-requisite: SWE351

SWE351 Computer Architecture (3 credits) (3,0)
Introduction to generic computer architecture. The Processing Unit; ALU, CPU. Instruction cycle behavior and sequencer. Microprogrammed control. Main Memory. Memory Management. I/O subsystem, disk controller. A complete simple computer design. Computer Arithmetic Algorithms. Principles of pipelining. Discuss CISC and RISC architectures.

Prerequisites: SWE310, GEN310

SWE360 Database Systems (4 credits) (3,2)
File Organization. Indexing techniques. Data models. Query Languages. B-trees, B*- trees, B+-trees. Study design and implementation of a relational database. Students apply concepts from data structures and compiler design in database management.

Prerequisites: SWE315

SWE371 Scripting Languages (3 credits) (2,2)
Fundamentals of Lua, Perl, and Python as scripting languages. Applications of scripting languages in data structures and algorithms, animation and games.

Prerequisite: SWE310

SWE422 Computer Networks (4 credits) (3,2)

Network Communication: Internal Structure, Interfaces, Routing, Buffering and Congestion Control, Sockets. Network Protocols. TCP algorithms.

Prerequisites: SWE315

SWE442 Software Engineering Project II (3 credits) (2,2)
Case Studies of Object Oriented Analysis and Design. Design Patterns. Component architecture. Component frameworks. Students apply object oriented principles in a large project.

Prerequisite: GEN270, senior standing

SWE447 GUI and Graphics Programming (4 credits) (3,2)
Principles of user interface design. Input elements: keyboard, mouse. Memory management. Icons. Menus. Dialog boxes. Graphics device interface. OpenGL. Transformations. Bresenham’s Lines and Circles Algorithms. Ellipses. Hidden line Algorithms. Clipping Algorithms. Spline curves. Bezier curves. B-splines surfaces and Bezier surfaces. Hidden lines and surfaces algorithms. Hidden line and surface removal methods. Students learn GUI and practice concrete mathematics concepts in computer graphics.

Prerequisites: MATH134, SWE315

SWE449 Tools Programming (3 credits) (2,2)

Advanced Scripting. Mel Scripting. C++ Plug-in.

Prerequisites: SWE315
Co-requisite: SWE447

SWE450 Animation (4 credits) (3,3)
Sprite Animation. Frame Animation. Theory and Practice of anti-aliasing techniques. Rendering techniques: Shadow Algorithms, Texture Mapping. Volume Rendering. Visualization techniques. Global Illumination. Motion Control. Students apply computer graphics in animation.

Prerequisites: SWE315, SWE447, SWE449

SWE472 AI Game Programming (3 credits) (2,2)
Study the design and implementation of computer games like chess, checkers and others. Combinatorial games. Students learn AI techniques for games and apply concrete mathematics, and animation techniques to games.

Prerequisite: SWE447
Co-requisite: SWE450

SWE473 Game Engine I (3 credits) (2,2)
Study the design and implementation of a game engine. Modify existed game engine. Design a game engine. Students apply computer graphics, AI and animation techniques in a game engine.

Co-requisite: SWE472

SWE474 Game Engine II (3 credits) (3,2)
Implementation part of a game engine. Students apply computer graphics, AI and animation techniques in game engines.

Prerequisite: SWE473

SWE497 Internship (3-6 credits)
Students have the opportunity to work and learn in “real-world” professional environment while earning credits towards their degree. The average requirement for a 3- credit internship is 10-15 hours per week during the 15-week trimester. Cogswell has several local, national and international placement opportunities available to students. Students interested in pursuing an internship must start the application process the semester before they intend to work.

Prerequisite: Junior Status

SWE498 Special Project (1-6 credits)
Individual or group research of preselected problems. May be used to support senior project.

Prerequisite: Permission of Program Coordinator

SWE499 Special Topic (1-3 credits)
Group study of preselected topics to be specified by the instructor. May be repeated for credits.

Prerequisite: Permission of instructor and advisor