Computer Engineering – Class of 2017
Curriculum of Core Courses Taken & Descriptions
Sophomore Year:
– ELE 201/202: Digital Circuit Design (w/Lab)
– CSC 211: Intro Programming and Design
– CSC 212: Data Structures and Abstractions
– ELE 212/215: Linear Circuit Theory (w/Lab)
Junior Year:
– ELE 305: Intro to Computer Architecture
– ELE 313: Linear Systems
– ELE 338/339: Electronics I (w/Lab)
– ELE 301/302: Electronic Design Automation (w/Lab)
– CSC 447: Discrete Mathematical Structures
Senior Year:
– ELE 400: Intro to Professional Practice
– ELE 480/481: Capstone Design I/II
– ELE 405/406: Digital Computer Design (w/Lab)
– ELE 437: Computer Communications
– ELE 408/409: Computer Organization (w/Lab)
Senior Year Design Electives That Can be Taken Concurrently with Capstone:
– BME/ELE 461: Physiological Modeling & Control
– BME 464/465: Medical Imaging
– CSC 301: Fundamentals of Programming Languages
– CSC 305: Software Engineering
– CSC 402: Programming Language Implementation
– CSC 406: Computer Graphics
– CSC 412: Operating Systems and Networks
– CSC 415: Introduction to Parallel Computing
– CSC 436: Database Management Systems
– CSC 481: Artificial Intelligence
ELE/CSC Course Descriptions:
ELE 201/202: Digital Circuit Design (w/Lab)
-Digital concepts. Combinational logic: gates, Boolean algebra, K-maps, standard implementations. Sequential circuits: flip-flops, timing diagrams, state diagrams, counters and registers, design methods. MSI devices, memory, and programmable devices.
ELE 212/215: Linear Circuit Theory (w/Lab)
-Kirchhoff’s Laws, DC-resistive networks, dependent sources, natural and forced response of first and second-order circuits, sinusoidal steady-state response, phasors, AC power.
ELE 313: Linear Systems
-Fourier series, Fourier transforms, transfer functions of continuous and discrete-time systems, transient and steady-state response, natural response and stability, convolution.
ELE 338/339: Electronics I (w/Lab)
-Review of linear circuit theory, operational amplifiers, diode and transistor circuits, computer-aided design, linear and nonlinear circuit applications, CMOS logic
ELE 301/302: Electronic Design Automation (w/Lab)
-Digital design, simulation, synthesis and verification using electronic design automation tools. IEEE VHDL hardware description language and rapid prototyping with FPGAs. Register transfer level design with reusable modules and cores.
CSC 447: Discrete Mathematical Structures
-Cross-listed as (MTH), CSC 447. Concepts and techniques in discrete mathematics. Finite and infinite sets, graphs, techniques of counting, Boolean algebra and applied logic, recursion equations.
ELE 400: Intro to Professional Practice
-Discussions with faculty, visiting engineers, and invited speakers on ethical, social, economic, and safety considerations in engineering practice; career planning; graduate study.
ELE 480/481: Capstone Design I/II
-Application of engineering skills; teams focus on the design and communication of solutions to problems with real-world constraints (may include aspects of other engineering disciplines). First of a two-course sequence
ELE 437: Computer Communications
-Cross-listed as (ELE 437), CSC 417. Computer networks, layering standards, communication fundamentals, error detection and recovery, queuing theory, delay versus throughput trade-offs in networks, multiple-access channels, design issues in wide and local area networks.
ELE 405/406: Digital Computer Design (w/Lab)
-Hardware implementation of digital computers. Arithmetic circuits, memory types and uses, control logic, basic computer organization, microprogramming, input/output circuits, microcomputers
ELE 408/409: Computer Organization (w/Lab)
-Engineering design problems involving hardware, software and interface of computer and embedded systems. Students will apply skills and knowledge accumulated through the curriculum in a group senior design project.
BME/ELE 461: Physiological Modeling & Control
-Principles of physiological modeling and control of linear and nonlinear systems, stability analysis, root locus, Bode plots, linearization.
BME 464/465: Medical Imaging
-Engineering and clinical applications of medical imaging systems including X-ray, computed tomography, radioisotope imaging, ultrasound, magnetic resonance imaging; picture archiving and communication system and medical image processing.
CSC 301: Fundamentals of Programming Languages
-Organization of programming languages, data and control structures, syntax and semantics, compilers and interpreters. Block structured languages, recursion, parameter passing, run-time storage management. Procedural, functional, object-oriented, and logical languages.
CSC 305: Software Engineering
-Programming environments and methodologies for the design, development, testing, and maintenance of large software systems. Student teams will develop a substantial software product from requirements to delivery using disciplined techniques.
CSC 402: Programming Language Implementation
-Grammars and languages; lexical analysis and parsers; interpreters, translators, and virtual machines; symbol tables and type systems; code generation for real and virtual machines. Students will implement a number of interpreters, translators, and virtual machines for various small languages.
CSC 406: Computer Graphics
-Interactive raster graphics; hardware, software, and algorithms. Point plotting, line drawing, geometrical transformations, clipping and windowing. Three-dimensional graphics including curves, surfaces, perspective, hidden objects, shading. User interfaces; graphical programming environments.
CSC 412: Operating Systems and Networks
-General concepts underlying operating systems and computer networks. Topics include process management, concurrency, scheduling, memory management, information management, protection and security, modeling and performance, networking and communication.
CSC 415: Introduction to Parallel Computing
-Programming techniques to engage a collection of autonomous processors to solve large-scale numerical and non-numerical problems. Processor interconnections. Parallel programming languages and models. Performance measures.
CSC 436: Database Management Systems
-Construction and management of large data systems. Data modeling, relational and object- oriented systems, main memory databases, query languages, query optimization, concurrency control, transaction management, distributed systems, disk organization, indexes, and emerging technologies.
CSC 481: Artificial Intelligence
-Theories, formalisms, techniques to emulate intelligent behavior using information processing models. Symbolic programming, search, problem solving, knowledge-based techniques, logic, and theorem proving. Optional topics: natural language processing, machine learning, and computer vision.