Engineering Course Descriptions
Electrical Engineering Courses
EE270 Introduction to Circuit Analysis 4(3,3) Analysis of linear circuits; energy and power considerations; The Venin and Norton equivalent circuits; various network theorems. Applications of Kirchhoff’s voltage and current laws. Transients in RL and RC circuits. Students learn basic principles to analyze electronic circuits.
Prerequisites: MA134, SC155
EE312 Signals and Systems 3(3,0) Operational methods, system functions, and the complex frequency domain in a circuit context leading to an input-output characterization of linear time-invariant (LTI) circuit behavior. Lumped continuous-time systems and discrete-time systems. Laplace and Z-transforms. Unit sample response and convolution. Fundamental properties of Fourier series and transforms and applications to sampling and filtering. Students are introduced to fundamental tools of signals and systems used to analyze and design electric systems.
Prerequisites: EE270, MA235
EE313 Advanced EE Mathematics 3(3,0) Three main topics are studied in this course: vector calculus, Fourier and Z transforms, probability and random processes. Vector calculus: vector functions, Gauss’ Law, surface integrals, flux, divergence, divergence theorem and applications, line integrals, the curl, Stoke’s Theorem and applications, the gradient and Laplace’s equation. Z and Fourier Transforms: Properties and evaluation of Z transforms, Convolution, time domain and Z-domain, Discrete Fourier Transform (DFT), DFT properties and evaluation, spectrum analysis, Fast Fourier Transform (FFT), basic algorithm and evaluation, fast convolution. Probability and random processes: events, sample space and probability, random variables, statistical averages, probability models, binomial, Poisson, Gaussian distributions, random processes, spectral characteristics, correlation functions. Students apply advanced mathematical tools to evaluate and design electric systems.
Prerequisite: EE312
EE320 Electronic Devices and Circuits I 4(3,3) 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: EE 270
EE321 Electronic Devices and Circuits II 4(3,3) 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: EE320
EE350 Digital Circuits and Systems 4(3,3) 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 subtracters; 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.
Prerequisite: SC155
EE366 Sequential Logic Design 4(3,3) 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: EE 350
EE370 Computer Architecture 4(3,3) 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, 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: EE366
EE385 Field and Waves 3(3,0) Static and time-varying electric and magnetic fields. Theory and application of Maxwell’s equations. Waves on continuous transmission lines, dielectric and metallic waveguides, propagation, energy flow, and impedance matching. Scattering parameters. Students are introduced to electromagnetic field. Students practice advanced engineering mathematics in fields and waves problems.
Prerequisite: EE313
EE410 Control Systems 4(3,3) Principles and applications of feedback control of dynamic systems. Analysis and design methods including: root-locus, frequency response, and state-space. Memoryless nonlinear systems. Introduction to digital control. Laboratory experiments use CASAD software and experiments on actual or simulated plants. MATLAB with Control Systems Toolbox is also used. Students practice analog and digital design principles to analyze and design control systems.
Prerequisites: EE321, EE350
EE420 Communication Systems 3(3,0) Communication systems using various transform techniques. Basic concepts of probability, random variables, and stochastic processes applied to communications, control, information, logic systems. Modulation techniques including AM, FM, PM, and pulse modulation. Information theory concepts for coding, combining, transmission, reception, and distribution of signals.
Prerequistes: EE313, EE321
EE487 Advanced Computer Architecture 3(3,0) Pipelined architecture. Stack architecture. Reduced-instruction-set architecture. Vector processor architecture. Parallel architecture. Memory hierarchy: cache, main, secondary. Virtual memory. Virtual machines. Computer arithmetic. Computer performance evaluation.
Prerequisite: EE370
EE495 Senior Project 3(0,6) Research, definition, design, cost analysis, construction, testing, and oral and written documentation of a faculty-approved project to demonstrate the student’s ability to perform as a practicing electrical engineer.
Prerequisite: Senior Standing
EE498 Special Project 1-6 credits Individual or group investigation, research, or study to pursue a special area of interest.
Prerequisite: Permission of the Dean
EE499 Special Topic 1-4 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
EE499 Internship 3-5 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
Innovation Management Courses
IM401 Innovation Management I 3(3,0) Introduction to project management, marketing, and promotion. Students practice these disciplines within the content domain including content creation, content generation tool development, and content delivery. The ISPER and First Doc methods are applied. Students develop a comprehensive plan for their capstone project.
Prerequisites: Specialization status for DA Students or Senior Status for Engineering Students
Corequisite: Portfolio I or MP425 for DA students
IM402 Innovation Management II 3(3,0) Introduction to contract law with a focus on industry agreements. Topics include intellectual property definitions and protection mechanisms including patents, copyrights, trademarks and trade secrets. Students explore basic business modeling, planning, and financials. Students are introduced to web-based transactions receive special attention. Students are introduced to the rights and responsibilities of innovators.
Prerequisite: IM401
Software Engineering Courses
SE050 Introduction to software engineering: visual modeling and problem solving 4(3,3) Introduction to computer systems: hardware, operating systems, compilers, assemblers, linkers, loaders. Introduction to Logo as visual modeling language. Data abstraction. Problem solving through software life cycle. Students explore modeling concepts and problem solving techniques.
Prerequisite: High school algebra.
SE110 C Programming 4(3,3) 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
SE212 Java Programming 4(3,3) 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: SE110
SE220 UNIX Programming Environment 4(3,3) Structure of UNIX file system. Shell programming. Discuss different shells. Filters. UNIX system calls. Documentation Preparation. Standard I/O Library. AWK programming language. SED editor. Students practice programming in the UNIX environment.
Prerequisite: SE110
SE310 Data Structures and Algorithms 4(3,3) 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: SE110, MA377 (MA 377 may be a corequisite)
SE315 Object Oriented Programming 4(3, 3) 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: SE310
SE320 Operating Systems Concepts 3(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: SE220, SE310
SE330 Compiler Design 4(3,3) 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: SE220, SE310
SE340 Software Engineering Methods and Project 3(3,0) 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 walk through the software life cycle in a software project.
Prerequisite: SE310
SE341 Object Oriented Analysis and Design 4(3,3) Object oriented analysis. Object oriented software design in C++/Java. Objects. Classes. Inheritance. Polymorphism. Managing complexity with Abstraction. Liskov principle. Object Modeling. Case studies of object oriented design. Memory management. Exception handling. Some design patterns. Students apply object oriented analysis, design, programming techniques to complete a software project.
Prerequisite: SE315
SE345 Windows Programming 4(3,3) Principles of user interface design. Input elements: keyboard, mouse. Memory management. Icons. Menus. Dialog boxes. Graphics device interface. Data exchange and links.
Prerequisite: SE310
SE349 Computer Organization and Assembly Language 4(3,3) Assembly language of 80x86 and Pentium CISC microprocessors. Number systems and number representations. 80x86 and Pentium architecture and addressing modes. 80x86 instruction set: data transfer, program control, logic, strings, fixed-point binary arithmetic, procedures, and macros. Segments. Registers. Subroutines. Instruction execution timing. Floating-point arithmetic. Linking C and assembly language.
Prerequisites: SE 110, MA133
SE351 Computer Architecture 3(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: SE349, EE350
SE360 Database Management Systems 4(3,3) 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: SE310, SE220
SE420 UNIX Internals 4(3,3) Introduction to UNIX kernel. Designs and Algorithms of Buffer Cache, File System, UNIX System Calls, Processes, Memory Management System. UNIX Scheduling algorithms. Students apply operating systems concepts in UNIX systems and study the efficiency of UNIX systems.
Prerequisites: SE220, SE320
SE422 UNIX Networking 4(3,3) Network Communication: Internal Structure, Interfaces, Routing, Buffering and Congestion Control, Sockets. Network Protocols. TCP algorithms.
Prerequisites: SE220, SE310
SE424 Routing and Switching 4(3,3) LAN and WAN protocols. LAN and WAN design issues. IP routing. IP Multicast. Frame relay. Router token ring. ATM routing and switching.
Prerequisite: SE422
SE426 Network Security 4(3,3) Security protocols: Remote Authentication Dial In User Service, Terminal Access Controller Access Control System Plus (TACACS+), Data Encryption Standard (DES), Triple DES (DES3), IP Secure (IPSec), Internet Key Exchange (IKE), Certificate Enrollment Protocol (CEP), Point to Point Tunneling Protocol (PPTP), Layer 2, Tunneling Protocol (L2TP). Security technologies: Concepts - security best practices, Packet Filtering PIX and IOS authentication proxies, Port Address Translation (PAT), Network Address Translation (NAT), Firewalls, Content Filters, Public Key Infrastructure (PKI), Authentication Technologies, Authorization technologies, Virtual Private Networks (VPN), Network IDS anomaly, signature, passive, inline. Host Intrusion Prevention Cisco Threat Response. Routing and switching security features: IE mac address controls, port security, dhcp snoop.
Prerequisite: SE422
SE430 Advanced Java 4(3,3) Java Threaded Programming. Collection. Networking. Database Connectivity. Remote Objects. Swing. Security. Internationalization. Naïve methods.
Prerequisites: SE212, SE341
SE432 Web Programming 4(3,3) HTML, XHTML. Servlets. Java threads. Introduction to Java beans. Introduction to JSP. Non-Java related technologies for web development such as Perl, PHP and Javascript.
Prerequisite: SE212
SE440 Advanced Software Engineering 3(3,0) Software Validation. Software Verification. Software Engineering Management. Software Quality Assurance. Students apply discrete mathematics and software methods in optimizing software projects.
Prerequisites: MA377, SE310, SE340
SE442 Advanced Object Oriented Design 4(3,3) Advanced Object Modeling. Case Studies of Object Oriented Design. Design Patterns. Component architecture. Component frameworks. Students apply object oriented principles in a large project.
Prerequisite: SE341
SE447 Computer Graphics Algorithms 4(3,3) Geometry for Computer Graphics: 2-dimension transformations, 3-dimension transformations. Bresenham’s Lines and Circles Algorithms. Ellipses. Hidden line Algorithms. Clipping Algorithms. Intersections. Three-dimensional viewing techniques. Theory of curves and surfaces. Spline curves: natural cubic splines, B-splines curves. Bezier curves. Parametric surfaces. B-splines surfaces and Bezier surfaces. Hidden lines and surfaces algorithms: depth sorting methods, depth buffer and screen subdivision methods. Hidden line and surface removal methods. Students practice concrete mathematics concepts in computer graphics.
Prerequisites: SE315, MA377
SE450 Animation 4(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. Deformation algorithms of Bezier patch, B-Spline patch representations. Students apply computer graphics algorithms in animation.
Prerequisite: SE447
SE451 Advanced Animation 4(3,3) New topics and trends in animation and visualization. Students are exposed to frontiers of animation techniques.
Prerequisite: SE450
SE459 Data Compression Algorithms 3(3,0) History of data compressions. Shannon-Fano algorithm. Huffman Algorithm. Adaptive Huffman coding. Arithmetic coding. Statistical Modeling. Dictionary based Compression. Sliding window compression: LZ77, LZSS. An improved compression: LZ78. Speech Compression. Lossy Graphics Compression.
Prerequisites: MA377, SE310
SE461 Computer Security 3(3,0) Cryptography. Data encryption. RSA algorithm. Breaking Knapsacks. The Chor-Rivest Algorithm. Other Public-key cryptosystems. Security problems in UNIX, databases, networks. Hacking and social responsibilities.
Prerequisites: MA377, SE320
SE470 AI: an engineering approach 3(3,0) Rule-based Inference Systems, Forward and Backward chaining. Expert Systems. Reasoning with uncertainty. Planning and searching in AI systems.
Prerequisites: MA377, SE341
SE472 Game Algorithms 4(3,3) Study the design and implementation of computer games like chess, checkers and others. Combinatorial games. Students apply concrete mathematics and animation techniques to games.
Prerequisites: MA478, SE447
Corequisite: SE450
SE473 Game Engine 4(3,3) Study the design and implementation of a game engine. Students apply computer graphics algorithms and animation techniques in game engines.
Prerequisite: SE450
SE495A Senior Project I 1(1,0) Students write a research proposal.
Prerequisite: Senior standing
SE495B Senior Project II 3(0,6) Students apply software life cycle in a senior project. Project results are presented orally and in a formal written report.
Prerequisite: Senior standing
SE498 Special Project 1-6 credits Individual or group research of preselected problems. May be used to support senior project.
Prerequisite: Permission of the Dean
SE499 Special Topic 1-4 credits Group study of preselected topics to be specified by the instructor. May be repeated for credits.
Prerequisite: Permission of instructor and advisor
SE499 Internship 3-5 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
For courses with a prefix other than EE, IM and SE see the course descriptions in the appropriate department.
synopsis
engineering course descriptions (EE,IM,SE)