Number sequencing next to course name means the following: first digit designates the number of lecture hours for the course; the second digit designates the number of lab, clinic or practicum hours; and the third digit designates the credit hours for the course.
Students must earn a grade of "C-" or higher in each CP and EL course listed as a prerequisite to a subsequent CP course.
CP 107 Introduction to Programming with C++ 2-3-3
Introduces the student to program design using the language C++. No prior knowledge of programming is assumed. Focuses on effective structured design of code with variables, decisions, loops, functions, arrays and introduction of pointers. Use of professional programming design approaches and coding style will be used in laboratory assignments. Completion of this course provides the programming design skills to continue on with the study of the language C++ or other computer languages.
CP 125 Data Structures 2-3-3
This course introduces students to abstract data types, object oriented programming, and algorithm analysis. Students will use procedural and object oriented techniques to program stacks, queues, linked lists, hash tables, and binary trees. Asymptotic (Big O) notation will be used to analyze data structures and sorting algorithms. The effective use of C++ topics such as pointers, operator overloading, and templates will be covered. Students will write programs in C++ and Java. (Prerequisites: CP 107 or permission of the Department Head of Computer Engineering Technology)
CP 215 Integrated Circuits and Interfacing 3-3-4
For CPET and other NON-EET majors, this course supplements EL 115 (Digital Fundamentals) with basic linear and interface electronics. Topics covered include simple power supplies, op-amps, stepper motors, A/D & D/A conversion, and interfacing a computer bus. Advanced digital topics such as synchronous logic, programmable logic devices and Digital Signal Processing will also be covered. The labs demonstrate real world implementation of otherwise abstract academic concepts. Fluency with the use of test equipment and debugging skills will also be stressed in the laboratory environment. (Prerequisites: CP107, EL 101, and EL 115; or permission of department head of Computer Engineering Technology. Strongly recommend having previously taken or to be concurrently taking EL 144.)
CP 222 Data Communications and Internetworking 3-3-4
This course provides the student knowledge and skills in a wide range of topics covering data communications, packet transmission and the Internet. Data communications subtopics include transmission media, serial communications, error detection & correction schemes, data security and signal processing required for long distance communications. Packet transmission subtopics include local area networks, hardware addressing, LAN building blocks, and wide area networks. Internetworking subtopics include TCP/IP communication stack, ISO 7-layer communication stack, network addressing, Internet protocol (IP), address resolution protocol (ARP), Internet control message protocol (ICMP), IP routing protocols, transport control protocol (TCP), user datagram protocol (UDP), and client-server API. (Prerequisites: CP 107 and CP 235; corequisites: CP 240, CP 252 recommended; or permission of department head of Computer Engineering Technology)
CP 235 Algorithms With Object Oriented Programming 3-3-4
This course focuses on the development, implementation and analysis of algorithms developed with object oriented design. Object oriented programming (OOP) techniques will be used to solve algorithms such as stacks, queues and linked lists. Concepts such as priority ranked data and object containers as well as circular queues will be covered. Sorting, data manipulation and retrieval will be covered. Languages which support OOP will be used as the learning method. Both C++ and Java will be used. This course covers intermediate and advanced topics with extensive hands on programming. Key OOP foundation capabilities of data abstractions, inheritance and polymorphism will be covered. Topics in C++ specifically covered will be pointers, operator overloading and multiple inheritance. (Prerequisite: CP 107; or permission of department head of Computer Engineering Technology)
CP 240 Programming for Windows Operating Systems 3-3-4
The Microsoft Windows API and Microsoft.Net Framework will be covered from Windows Applications to full utilization of the Internet. Microsoft Visual Studio.Net with its intergraded development environment will be studied and utilized. Topics include Windows services, DLLs, accessing databases using ADO.NET, programming for the internet using ASP.NET, .NET assemblies, and advanced features of programming languages used to access the Widows API and .NET platform. Experience will be gained using extensive hands-on laboratory assignments. (Prerequisites: CP 107 and CP 235 or AG 121 or permission of department head of Computer Engineering Technology based on having introductory programming skills with languages such as Java, C++ or classic Visual Basic)
CP 252 Networking and Internet Technologies 3-3-4
This course provides the student knowledge and skills in a diverse range of topics including structured query language (SQL), client-server programming, selected internet applications and LAMP (Linux, Apache, MySQL and PHP). SQL subtopics include relational database concepts, the SQL language and relational database design. Client server programming is studied in C++ using socket APIs and Java using socket classes. Selected internet applications include domain name system (DNS), hyper-text transfer protocol (HTTP) and file transfer protocol (FTP). LAMP topics include a Linux overview, Apache web server configuration, dynamic web pages using PHP and MySQL relational database. Each student is also required to define, implement, demonstrate and present a networking project during the last several weeks of the course. (Prerequisites: CP 107 and CP 235 or AG 121 or permission of department head of Computer Engineering Technology)
CP 260 Computer Real Time Interfacing 3-3-4
Interfacing computers to the outside world is the focus of this course. Computers are commonly used to gather data and to control processes in medical equipment, research projects and manufacturing. The course content focuses on practical real time (fast response) and multithreaded programming techniques used in interfacing with computer inputs and outputs. The course is divided into two major parts. First, a programmable logic controller industrial computer using the language relay ladder logic (Boolean algebra based) is used to teach the fundamentals of real time control. The second part covers multithreading programming techniques and issues including resource sharing, deadlock, critical sections, mutexes, and events. A final project is presented to the class. (Prerequisite: CP 107; corequisite: CP 235; or permission of department head of Computer Engineering Technology based on introductory knowledge of C++ or Java)
CP 301 Computer Project Definition 1-0-1
Students will elect this course as a first phase to Computer Project CP 303. During this course a student selects a project which is either provided by an industrial sponsor or chosen by the student. The selections are made with the guidance and approval of the instructor. The student will meet with the sponsor to initiate the project and then will write a specification to define the project. (Prerequisite: CP 107, EL 101, EL 115, CP 125, and Corequisites: CP 240, CP 260; or permission of department head of Computer Engineering Technology)
CP 303 Computer Project 1-4-3
The student will complete the project defined in CP 301 while maintaining logbook documentation, providing the advisor with progress reports. In addition, a formal oral presentation describing the project and a demonstration is required. (Prerequisites: CP 301, CP 240, CP 260, EL 144 and Corequisites: CP 222, and CP 252; or permission of department head of Computer Engineering Technology.)