ETCO 1120 Introduction to STEM Computer Programming: (3) The areas of Science, Technology, Engineering, and Mathematics (STEM) all rely on computer programming and this reliance is steadily increasing. This course introduces students to computer software created to meet the computing needs of these areas. The use of computer-based analytical and computational software as well as beginning-level computer programming is taught in a manner which emphasizes problem solving. No previous programming experience is needed to enroll in this course but an understanding of algebra is required. Coreq: MATH 1020 or placement. 2 lec., 3 lab
ETEC 1301 Computer Engineering Technology: (3) [No longer offered; see ETCO1120] This course is designed to introduce the student to the computer engineering technology field by providing a classroom experience that is both hands-on and intellectual. The student will introduced to the fundamentals of computer programming, computer architecture, printed circuit board design and fabrication, electrical and electronic components and electrical-mechanical design. Prerequisite: MATH 1200 (College Algebra); 2 lect. 3 lab.
ETEC 1302 Computing Systems: (3) Hardware and software integration techniques for stand alone and networked computer systems will be covered. Lecture covers motherboards, hard drives, video boards, network adapter cards, cabling, network system software, along with an introduction to Assembly Language. Lab emphasis on assembling and integrating a networked computer system and installing Linux as the operating system. Prerequisite: MATH 1200 (College Algebra); 2 lect. 3 lab.
ETEC 1101 Structured Programming: (3) An introduction to the software development process through a modern block-structured language. Computer problem solving and program debugging strategies, data abstraction, modularity, parameter passing, and elementary data structures. Fundamentals of linked lists, stacks, and queues. Recursion, recursively-defined data structures, and tree structures will be discussed.Prerequisite ETEC 1302 or ETGG 1101; 2 lect. 3 lab.
ETEC 1601 Graphical User Interface Design: (3) [No longer offered] This course provides an introduction to graphical user interface programming and teaches the principles and processes for designing good user interfaces and comfortable user experiences. Lab emphasis will be upon developing user interfaces using both scripting languages and visual programming tools. Prerequisite ETEC 1301 or ETGG 1101; 2 lect. 3 lab.
ETEC 2101 Data Structures: (3) Advanced methods for searching and sorting, including hashing techniques. Introduction to complexity analysis. Dynamic data structures such as lists, stacks, queues, trees, heaps, tables, and graphs will be covered in addition to algorithms involving hashing, sorting, recursion, and searching. Lab emphasis is upon the implementation of these structures and techniques in complete working structured software applications. Prerequisite: ETEC 1101; 2 lect. 3 lab.
ETEC 2301 Programmable Logic: (3) An introduction to logic and interface devices used in microprocessor systems. >Boolean logic, Karnaugh maps, and DeMorgan’s theorem are covered in applying LSI devices to systems. Also includes an introduction to Programmable Array Logic (PAL) and Field Programmable Gate Array devices as they are applied to support and augment microprocessor systems. Prerequisite ETEC 1101; 2 lect. 3 lab.
ETEC 2311 Microprocessor Based Systems: (3) The study of microprocessor based systems with a focus on PC hardware and microcontrollers. Topics covered include computer interfacing techniques, signal conditioning, realtime programming and interrupts. Lab emphasis is on interfacing microprocessor based systems to devices in the physical world (such as switches, lights and motors)and developing software that monitors and controls these devices.Prerequisite: ETEC 2301; 2 lect. 3 lab.
ETEC 2102 Object Oriented Programming: (3) [No longer offered; see ETEC2104] The design and development of object oriented programs using a modern object oriented language. Topics covered include Classes, Methods, Polymorphism, Encapsulation and proper object based system design. Prerequisite: ETEC 2101; 2 lect, 3 lab.
ETEC 2104 Object Oriented Software Engineering: (3) The design and development of object oriented programs using a modern object oriented language which includes support for classes, methods, polymorphism, and encapsulation. Introduce models and issues concerned with the development of high quality software including the life-cycle models requirements analysis, specification and design techniques, implementation, documentation, configuration management, reliability, verification, validation, and maintenance. Prerequisite: ETEC 2101; 2 lect, 3 lab.
ETEC 2601 Database Systems: (3) [Formerly ETEC4601] A study of database management systems including the design, implementation, and maintenance of databases. The logical and physical representations of hierarchical, simple, and complex data and file relationships are covered. Their application in the major data models is emphasized with a focus on the relational model. 2 lect, 3 lab
ETEC 3201 Networking And Communication: (3) Interfacing a computer system to external devices which support asynchronous and synchronous communications, flow-control paths, data transfer, packets, and physical interfaces. A study of the ISO model protocols, logical connections and services, streams and datagrams, LANs, internetworking, routing, and servers. Prerequisites: ETEC 2311 and ETEC 2101; 2 lect, 3 lab
ETEC 3501 Advanced Circuit Analysis: (3) Introduction to (and application of) integral-differential equations to modeling of circuits and systems. Use of PSPICE to modelsystems. Application of Laplace transforms to system differential equations in the time and frequency domains with sinusoidal and complete harmonic signals. Topics include transfer functions, frequency response, and BODE plots, transients in DC/AC networks, initial conditions, mesh analysis, superposition, the Initial and Final Value Theorems and the Shifting Theorem. A laboratory component is directed at demonstrating the transient effects of both AC and DC stimulus. Prerequisites: ETEM XXXX and MATH 2XXX (Electrical Fundamentals and Calculus 1) ; 2 lect, 3 lab
ETEC 3401 Algorithms: (3) This course focuses on the theories of algorithms, data structures, computational complexity, and correctness. Topics covered include: divide-and-conquer techniques, dynamic programming, greediness, sorting, searching, graph problems, lower bound techniques, and NP-completeness. Prerequisite: ETEC 2101; 2 lect, 3 lab
ETEC 3701 Operating systems 1: (3) This course covers the function, design, and integration of the parts of an operating system. Topics covered include: operating system history, policies for scheduling and page-replacement, memory management, resource allocation, deadlock, starvation, livelock, access control, mutual exclusion, concurrency process synchronization, file systems, secondary storage management, and command interpreters. Prerequisite: ETEC 2101; 2 lect, 3 lab
ETEC 3702 Operating Systems 2: (3) This course covers advanced operating system topics through the examination and implementation of various parts of a working operating system. Topics covered include cooperating processes, protection, real-time systems, distributed systems, and security. Topics include UNIX, file systems, processes, process development, remote access techniques, and overall system management. Prerequisite: ETEC 3701; 2 lect, 3 lab
ETEC 3301 Computer Architecture: (4) Focuses on microprocessor architectures. Topics include: busses, timing, memory systems, and decoding. Also covered are techniques for interfacing MSI, LSI, and VLSI chips to system busses. Lab emphasis is on building a microprocessor based systems. Prerequisite: ETEC 2311; 3 lect, 3 lab
ETEC 3801 Software Engineering: (3) [No longer offered; see ETEC2104] Provides an introduction to models and issues concerned with the development of high quality software including the life-cycle models requirements analysis, specification and design techniques, implementation, documentation, configuration management, reliability, verification, validation, and maintenance. Lab emphasis is on learning how to use software engineering tools.Prerequisites: ETEC 2103; 2, 3 lab
ETEC 3402 Automata and Formal Languages: (3) The study of formal models of computation in terms of abstract language and machine models. These include formal languages, finite state automata, pushdown automata, Turing machines, and grammars. Prerequisites: ETEC 3401; 2 lect, 3 lab
ETEC 4501 Digital Controls 1: (3) A study of the methods used to implement control theory concepts on digital machines. An introduction to measurement devices and physical characteristics of control systems. Lab emphasis is on interfacing sensors used in measuring various physical environments to a microprocessor based system. Signal conditioning, scaling, and real-time programming techniques are incorporated to support these devices. Prerequisites: ETEC 3501, ETEC 2101, ETEC 2311, and MATH 2XXX (Integral Calculus) ; 2 lect; 3 lab
ETEC 4502 Digital Controls 2: (3) An extension of ETEC 4501. Microprocessor based control systems, open and closed loop systems, block diagrams, PID control algorithms, Programmable Logic Controllers are covered. Lab emphasis is on interfacing microprocessor based systems to actuators such as motors, relays, valves, and heaters. Software algorithms are implemented to create discrete and continuous control systems. Prerequisites: ETEC 4501; 2 lec;, 3 lab
ETEC 4401 Compiler Design: (3) Application of finite state automata as regular expressions to programming language design and analysis of the use of context-free grammars as a formal device for language syntax. Techniques of lexical analysis and parsing (top-down and bottom-up), symbol table management, code generation, and error handling are covered. Prerequisite: ETEC 3402; 2 lect, 3 lab
ETEC 4601 Database Systems: See ETEC2601.
ETEC 4301 Design Lab 1: (3) A capstone experience in Computer Engineering Technology involving the application of hardware and software components to form a system. The student demonstrates competency by applying concepts from the Computer Engineering Technology program to an applications design and implementation project under the guidance of a faculty mentor. Prerequisites: ETEC 3201, ETEC 3301, ETEC 3402, ETEC 3702, ETEC 3801 ; 2 lect; 3 lab
ETEC 4302 Design Lab 2: (3) [No longer offered; combined with ETEC4301] A continuation of ETEC 4301 Design Lab 1 where students complete and present their projects. Prerequisite: ETEC 4301; 2 lect, 3 lab
ETEC 4901 Topics in Computing: (3) The computer field is rapidly changing with constantly emerging hardware and software systems. This class provides the students with an opportunity to explore advanced topics pertinent to their future career. Prerequisites: ETEC 3201, ETEC 3301, ETEC 3402, ETEC 3702, ETEC 3801, or advisor approval; 2 lec; 3 lab