Compare Four
Your second and third years have distinctive course requirements and electives.
Here we can compare four related majors through select second and third year courses.
Computer Engineering
EE 2174 - Digital Logic and Lab
Introduces analysis, design, and application of digital logic. Includes Boolean algebra, binary numbers, logic gates, combinational and sequential logic, storage elements and hardware-description-language based synthesis.
- Credits:
4.0
- Lec-Rec-Lab: (3-0-2)
- Semesters Offered:
Fall, Spring, Summer
- Pre-Requisite(s): CS 1121 or CS 1131 or CS 1111
CS 2321 - Data Structures
Presents fundamental concepts in data structures. Topics include abstract data types (priority queues, dictionaries and graphs) and their implementations, algorithm analysis, sorting, text processing, and object-oriented design. A significant programming project is assigned.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 1122 or CS 1131
EE 3172 - Fundamentals of Computer Organization
Introduction to the fundamental structure and organization of computing systems. Topics include control logic, datapaths, instruction processing, caches, and pipelines. Includes a significant processor implementation project.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): EE 2174 and CS 1142
EE 3173 - Hardware/Software System Integration
Covers the integration of hardware and software into a complete working system. Includes design and construction of I/O devices for microprocessor or microcontroller-based systems, communication and bus protocols, programming in assembler language and in "C", system integration and testing. Also covers the use of FPGAs and HDL design tools.
- Credits:
4.0
- Lec-Rec-Lab: (3-0-3)
- Semesters Offered:
Fall, Spring, Summer
- Restrictions:
Must be enrolled in one of the following Major(s): Computer Engineering
- Pre-Requisite(s): EE 2174 and (CS 1111 or CS 1142) and (CS 3421 or EE 3172) and (MA 3710 or EE 3180)
CS 3411 - Systems Programming
Development of robust programs that provide efficient services to system software developers. Topics include: file I/O, process creation and management, linking and libraries, interprocess communication, performance measurement, and socket programming.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 3421 or EE 3172
Computer Science
CS 2311 - Discrete Structures
Presents fundamental concepts in discrete structures that are used in computer science. Topics include sets, trees, graphs, functions, relations, recurrences, proof techniques, logic, combinatorics, and probability.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): (CS 1121 or CS 1131) and (MA 1135 or MA 1160 or MA 1161 or MA 1121 or MA 2160)
CS 2321 - Data Structures
Presents fundamental concepts in data structures. Topics include abstract data types (priority queues, dictionaries and graphs) and their implementations, algorithm analysis, sorting, text processing, and object-oriented design. A significant programming project is assigned.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 1122 or CS 1131
CS 3311 - Formal Models of Computation
Introduction to the theory of formal languages and computation. Topics include regular languages and finite automata, context-free languages and push-down automata, Turing-acceptable languages, Turing machines and the halting problem. Proof techniques and applications, such as parsing, are also treated.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 2311 or MA 3210
CS 3411 - Systems Programming
Development of robust programs that provide efficient services to system software developers. Topics include: file I/O, process creation and management, linking and libraries, interprocess communication, performance measurement, and socket programming.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 3421 or EE 3172
CS 3425 - Introduction to Database Systems
This course provides an introduction to database systems including database design, query, and programming. Topics include goals of database management; data definition; data models; data normalization; data retrieval and manipulation with relational algebra and SQL; data security and integrity; database and Web programming; and languages for representing semi-structured data.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): (CS 2311 or MA 3210) and CS 2321
Data Science
CS 2321 - Data Structures
Presents fundamental concepts in data structures. Topics include abstract data types (priority queues, dictionaries and graphs) and their implementations, algorithm analysis, sorting, text processing, and object-oriented design. A significant programming project is assigned.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 1122 or CS 1131
CS 3425 - Introduction to Database Systems
This course provides an introduction to database systems including database design, query, and programming. Topics include goals of database management; data definition; data models; data normalization; data retrieval and manipulation with relational algebra and SQL; data security and integrity; database and Web programming; and languages for representing semi-structured data.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): (CS 2311 or MA 3210) and CS 2321
MA 3740 - Statistical Programming and Analysis
Project-based course enabling students to identify statistical methods and analysis using R and SAS. Topics include exploratory data analysis, classical statistical tests, sample size and power considerations, correlation, regression,and design experiments using advanced programming techniques.
- Credits:
3.0
- Lec-Rec-Lab: (0-2-2)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): MA 2710 or MA 2720 or MA 3710 or MA 3715
DATA 2201 - Foundations of Data Science
Introduces data science technologies and methods that provide a foundation for subsequent Data Science classes. Topics covered include working with data and applied linear algebra in standard numerical computing libraries.
- Credits:
3.0
- Lec-Rec-Lab: (0-2-2)
- Semesters Offered:
Fall
- Pre-Requisite(s): DATA 1202 and (CS 1122 or CS 1131) and (MA 2320 or MA 2330 or MA 2321)
MIS 3500 - User-Centered Design
Studies user-centered design in development of effective interface solutions for business needs. Content may include input/output devices, user modeling, help and documentation, social issues, and usability evaluation. Emphasis on how interface design addresses human capabilities and capacities.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
On Demand
- Pre-Requisite(s): MIS 2000 or MIS 2100 or CS 1122 or CS 1131
Software Engineering
CS 2311 - Discrete Structures
Presents fundamental concepts in discrete structures that are used in computer science. Topics include sets, trees, graphs, functions, relations, recurrences, proof techniques, logic, combinatorics, and probability.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): (CS 1121 or CS 1131) and (MA 1135 or MA 1160 or MA 1161 or MA 1121 or MA 2160)
CS 2321 - Data Structures
Presents fundamental concepts in data structures. Topics include abstract data types (priority queues, dictionaries and graphs) and their implementations, algorithm analysis, sorting, text processing, and object-oriented design. A significant programming project is assigned.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): CS 1122 or CS 1131
CS 3000 - Ethical and Social Aspects of Computing
An examination of social and ethical issues associated with computing. Topics include: ethical theories and decision making, intellectual property, freedom of expression, privacy, security, and professional responsibility.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Restrictions:
Must be enrolled in one of the following Class(es): Junior, Senior
- Pre-Requisite(s): CS 3141
CS 3421 - Computer Organization
Introduction to the logical structure of computers, including the fundamentals of logic design, information storage and manipulation, control, and input/output. Topics include a review of current hardware technology, combinational and sequential logic, arithmetic, datapaths, hard-wired control, interrupts, caches, virtual memory, and an introduction to pipelining.
- Credits:
3.0
- Lec-Rec-Lab: (0-3-0)
- Semesters Offered:
Fall, Spring
- Pre-Requisite(s): (CS 1141 and CS 1040) or CS 1142
CS 3712 - Software Quality Assurance
Practices for ensuring quality through the software process. Topics include: requirements elicitation, analysis and documentation, testing, and quality assurance management.
- Credits:
3.0
- Lec-Rec-Lab: (3-0-0)
- Semesters Offered:
Spring
- Pre-Requisite(s): CS 3141
Review Sample Plans for Course Sequences
Advisors create sample plans and flow charts to help you understand course requirements,
electives, pre-requisites, and credit loads.
These depend on the year you enroll, or your audit year. Students can take courses in the summer, if needed.