Computer Engineering Technology - CPS (CET)

CET 1990. Elective. 1-4 Hours.

Offers elective credit for courses taken at other academic institutions.

CET 2100. Essentials of Computer Organization. 3 Hours.

Covers the structure and organization of computing systems. Topics include basic computer architecture, CPU and arithmetic-logic unit design, the datapath, input/output methods, memory management including caches and virtual memory, storage, instruction execution, assembly programming and assemblers, instruction formats, addressing modes, peripherals and interfacing, interrupts, and an introduction to operating systems and compilers.

CET 2200. Data Structures and Algorithms. 3 Hours.

Covers the design, analysis, and implementation of data structures and algorithms to solve engineering problems using an object-oriented programming language. Topics include elementary data structures (including arrays, stacks, queues, and lists); advanced data structures (including trees and graphs); the algorithms used to manipulate these structures; and their application to solving practical engineering problems.

CET 2300. Object-Oriented Programming. 3 Hours.

Discusses the fundamental principles of object-oriented programming (OOP) and associated concepts and definitions such as classes, objects, encapsulation, coupling, cohesion, inheritance, abstraction, polymorphisms, and generic dispatch. Provides contextual comparisons of programming paradigms drawing on simple examples and case studies, particularly of purely object-oriented, hybrid, and procedural programming. Examines applicability and illustrates techniques and idioms of OOP in the C++ language using a wide variety of in-class examples and via students’ assignments and small projects. Examines methods of OOP analysis and design via the Unified Modeling Language diagrams.

CET 2990. Elective. 1-4 Hours.

Offers elective credit for courses taken at other academic institutions.

CET 3000. Computer Operating Systems. 3 Hours.

Covers the structure of modern operating systems. Topics include operating system structure, processes, threads, interprocess communication, system calls, context switching, address space, memory management, virtual memory, context switching, scheduling, synchronization, deadlocks, storage management, mass storage, file systems, I/O systems, security, and virtual machines.

CET 3100. Computer Networking and Communications Technology. 3 Hours.

Covers the technical foundation for designing, installing, maintaining, and monitoring computer networks. Covers technologies, protocols, and techniques used to connect computers to other computers and hardware components. Topics include the Open Systems Interconnection network model (OSI), internet protocols (TCP/IP), the User Datagram Protocol (UDP), Local Area Networks (LANs) and Wide Area Networks (WANs), wireless networks, network security, virtual private networking, and network management. Covers both circuit-switched and IP-based communications.

CET 3990. Elective. 1-4 Hours.

Offers elective credit for courses taken at other academic institutions.

CET 4200. Reconfigurable Computing. 3 Hours.

Covers the foundations of reconfigurable computing. Topics include reconfigurable architectures and systems, design of field programmable gate arrays (FPGAs), design methodologies using FPGAs, operating systems for reconfigurable systems, hardware-software codesign, dynamic reconfiguration, hardware optimization, verification, and applications. Offers students an opportunity to learn to use practical design tools, including VHDL, to implement reconfigurable designs.

CET 4210. Robotics. 3 Hours.

Covers the theory and practice of robotics. Topics include kinematics, dynamics, position and orientation, trajectories, coordinate frames, navigation, closed-loop control, obstacle detection, manipulation of objects, actuators, sensors, systems modeling, analysis, motion control, and techniques for programming robots. Offers students an opportunity to obtain practical experience in constructing and programming a robot system.

CET 4220. Embedded Systems. 3 Hours.

Introduces fundamental concepts of digital signal processing. Offers students an opportunity to understand how to represent, analyze, and manipulate digital signals via theoretical background and hands-on work. Provides technical bases to evaluate, design, and program digital signal processors, considering their architecture and match to embedded applications. Students use acquired knowledge and skills in digital electronics and programming to design, implement, and test simple embedded microprocessors systems for data collection, control, and/or analysis. Topics include embedded systems characteristics, custom and general-purpose processors, general and dedicated software, testing and debugging approaches, memory system design, interfacing, serial and parallel communication, bus standards, protocols, and arbitration.

CET 4230. Computer and Network Security. 3 Hours.

Covers the principles and practice of computer and network security. Topics include the history of security; encryption techniques and applications; secure communications; software protection; vulnerabilities of networks, operating systems, databases, and distributed systems; security standards; security applications; security attacks; malicious software; intrusion detection; firewalls; and user authentication. Surveys legal and ethical concepts, including integrity, confidentiality, authenticity, accountability, and availability.

CET 4240. Software Engineering. 3 Hours.

Covers the principles of software engineering and the phases of the software development life cycle, including requirements gathering, requirements analysis, specification, design, coding, testing, and maintenance. Topics include the Unified Modeling Language; interface design; the use of verification, validation, and documentation; structured analysis; object-oriented design; software metrics; modular design; and modular libraries.

CET 4250. Compilers. 3 Hours.

Covers the principles of compilers. Topics include programming languages, automata theory, symbol tables, intermediate representations, run-time support, lexical analysis, syntax trees, type checking, parsing, optimization, and code generation. Offers students an opportunity to obtain practical experience designing a compiler.

CET 4950. Seminar. 1-4 Hours.

Offers an in-depth study of selected topics.

CET 4955. Project. 1-4 Hours.

Focuses on in-depth project in which a student conducts research or produces a product related to the student’s major field.

CET 4983. Topics. 1-4 Hours.

Covers special topics in computer engineering technology.

CET 4990. Elective. 1-4 Hours.

Offers elective credit for courses taken at other academic institutions.

CET 4991. Research. 1-4 Hours.

Offers students an opportunity to conduct research under faculty supervision.

CET 4992. Directed Study. 1-4 Hours.

Offers independent work under the direction of members of the department on a chosen topic.

CET 4993. Independent Study. 1-4 Hours.

Offers independent work under the direction of members of the department on a chosen topic.

CET 4994. Internship. 1-4 Hours.

Provides students with an opportunity for internship work.

CET 4995. Practicum. 1-4 Hours.

Provides eligible students with an opportunity for practical experience.

CET 4996. Experiential Education Directed Study. 1-4 Hours.

Draws upon the student’s approved experiential activity and integrates it with study in the academic major.