2022-2023 Course List
2022-2023
CS
This class provides MAX scholars with an opportunity to explore a set of topics related to achieving success in academic, professional and personal realms. Speakers will include faculty, graduate students, visiting researchers and industry members as well as student participants.Fall, SpringRereq: Recipient of a MAX scholarship or instructor consent
- Prerequisites:
- Recipient of a MAX scholarship or instructor consent
Workshop topics will be announced. Workshops on different topics may be taken for credit.
- Prerequisites:
- Consent of instructor
Provides students interested in a computer science major or minor an opportunity to explore topics not normally covered in the curriculum. Speakers will include faculty, graduate students, undergraduate students admitted to the Computer Science major, visiting researchers and industry members.Fall, Spring
Special topics not covered in other 100 or 200-level courses. May be repeated for each new topic.Variable
A team-based capstone experience for the mid-point of the CS program. Students are introduced to principles and methodologies of large-scale software development and engineering by working on a full life-cycle software project solving a substantial problem using multiple CS concepts.Spring
- Prerequisites:
- CS 210 and CS 220
This course introduces the foundational concepts of operating systems including operating systems principles, concurrency, scheduling, dispatch, and memory management and prepares students for advanced topics in operating systems.
- Prerequisites:
- CIS 223, CIS 224 or EE 234, and admission to major.
This course introduces the foundational concepts of software engineering, and parallel and distributed computing and prepares students for advanced topics in these areas.
- Prerequisites:
- CIS 223, CIS 224, and admission to major.
This course introduces the foundational concepts of programming languages, including the principles of language design, language constructs, and comparison of major languages. Topics include formal methods of examining syntax and semantics of languages and lexical analysis of language components and constructs, and propositional and predicate calculi.
- Prerequisites:
- CIS 223, CIS 224, and admission to major.
This course introduces the foundational concepts of Information Management, Database Systems, Data Modeling, Data Security, Secure Design, Defensive Programming, Security and Cryptography.
- Prerequisites:
- CIS 223, CIS 224, and admission to major.
An introduction to data communications and networks. The field encompasses local area networks, wide area networks, and wireless communication. Topics include digital signals, transmission techniques, error detection and correction, OSI model, TCP/IP model, network topologies, network protocols, and communications hardware.
- Prerequisites:
- CIS 223 and CIS 224 or EE 234
Algorithm design and analysis is central to much of computer science. This course exposes students to fundamental algorithm design and analysis techniques. Topics include many of the basic topic areas of computer science: searching, sorting, numeric computation, data representation, communication.Fall
- Prerequisites:
- CS 210
An introduction to methods, algorithms, and tools of cryptography. We will study the algorithmic and mathematical aspects of cryptographic methods and protocols. We will experiment with how they can be used to solve particular data and communication security problems. Prerequisite: CS 305 or permission of instructor.
- Prerequisites:
- CS 305 or permission of instructor.
This course presents historical and current concepts and implementations of computer organization. Topics include instruction set design, digital storage, performance metrics, processor datapath and control, pipelining, memory hierarchy, busses and I/O interfacing, and parallel processors.Spring
- Prerequisites:
- CS 111 and CS 220, or EE 334
This course provides an introduction to the theory and practice of neural computation. The goal is to familiarize students with the major models, techniques, and problems of neural network computation and to provide hands-on experience using these things. Topics include neural network models, supervised and unsupervised learning, associative memory models, and data representation.
- Prerequisites:
- CS 230
This course covers the fundamentals of database management focusing on the relational data model. Topics include database organization, file organization, query processing, concurrency control, recovery, data integrity, optimization and view implementation. Fall
- Prerequisites:
- CS 210 and CS 320
An introduction to data communications and networks. The field encompasses local area networks, wide area networks, and wireless communication. Topics include digital signals, transmission techniques, error detection and correction, OSI model, TCP/IP model, network topologies, network protocols, and communications hardware.Spring
- Prerequisites:
- CIS 223, EE 234
A laboratory in conjunction with CS 350.
- Prerequisites:
- CS 305 or EE 234. Permission of instructor
This course focuses on machine level I/O and operating system file processing. Structure of systems programs including assemblers, linkers, and object-oriented utilities and interfaces. Students will gain experience in writing utility programs and extensions to operating systems.Fall
- Prerequisites:
- CS 111 or EE 107, and CS 320
This course introduces the student to Windows programming in C++ using the Application Programming Interface. Windows programs are created in a visual development environment which includes editing and code generating facilities. Hands-on programming skills are developed in the lab.Variable
- Prerequisites:
- CS 210
The course introduces the student to graphics and game programming. Graphics programming topics addressed include modeling, rendering, and animation of vector-based components and bitmaps. Programs are created using a current graphics and game development environment.
- Prerequisites:
- CS 210, CS 220, MATH 121
Fundamental concepts of programming languages, including the principles of language design, language constructs, and comparison of major languages. Topics: formal methods of examining syntax and semantics of languages and lexical analysis of language components and constructs, and propositional and predicate calculi.Fall
- Prerequisites:
- CS 210
Students are introduced to techniques used in the analysis and design of software systems. Traditional techniques are reviewed and current methodologies for both object-oriented and procedural systems are studied. Standard notations used to document software requirements and designs are presented.Spring
- Prerequisites:
- CS 300
Students learn and practice the essential elements of computer science through research, classical problem or industry project implementation: scoping, modeling, experimentation, analysis, modern tools, creativity, business plans, and global/societal/environmental impacts. Students learn and develop the elements of professionalism while operating in project teams. Topics include leadership, metacognition, teamwork, written and oral communication, ethics and professional and personal responsibility. Course must be taken concurrently with CS 495.
- Prerequisites:
- CIS 223 and MATH 280
Students learn and practice the essential elements of computer science through research, classical problem or industry project implementation: scoping, modeling, experimentation, analysis, modern tools, creativity, business plans, and global/societal/environmental impacts. Students learn and develop the elements of professionalism while operating in project teams. Topics include leadership, metacognition, teamwork, written and oral communication, ethics and professional and personal responsibility. Course must be taken concurrently with CS 495.
- Prerequisites:
- CIS 223 and MATH 280
Students further learn and practice the essential elements of computer science through research, classical problem or industry project implementation: scoping, modeling, experimentation, analysis, modern tools, creativity, business plans, and global/societal/environmental impacts. Students continue to learn and develop the elements of professionalism while operating in project teams. Topics include leadership, metacognition, teamwork, written and oral communication, ethics and professional and personal responsibility. Course must be taken concurrently with CS 495.
- Prerequisites:
- CS 391
