Skip to main contentSkip to main navigationSkip to footer content
Saint Xavier University Chicago Campus Residence Halls

Computer Science Courses


Prerequisite/Corequisite Key

P = Course must be taken previously C = Course must be taken concurrently E = Course can be taken previously or concurrently
(RQ) = Required (RM) = Recommended  

CMPSC 112

Survey of Computer Science

3 credit hours

This course takes a breadth-first view of the discipline of computer science, focusing on what computers are, how they work, what they can and cannot do, and the impact they have on society. The course focuses on algorithms and how they are expressed through hardware and software. This course is required for all computer science and computer information system majors and minors. Students from other majors may also take the course.

CMPSC 126

Business Programming

4 credit hours

P: College Level Math

This course introduces the students to programming for business and finance. Students create programs that use the basic elements of programming: control structures, logical expressions, variables, arrays and file input and output. Students are evaluated on their ability to read and write programs. The course will use contemporary programming language that is used in business, such as Python 3.

CMPSC 132

Understanding User Experience

3 credit hours

Technology companies spend billions of dollars ensuring that their products are intuitive and delight users. This course will teach you how they do that. You will learn what drives product usability, the basics of User Experience (UX) design and research, and how to build wireframes and prototypes. By the end of this course, you will be on your way to building experiences that make customers happy. This online class has optional live sessions.

CMPSC 160

Special Topics: Programming Competition Preparation

1 credit hour

E: CMPSC 202

Students will prepare for programming competitions. They will perform practice tests using questions from the previous competitions. They will practice programming skills and teamwork skills. Students should have prior programming experience or be enrolled concurrently in a programming course.

CMPSC 171

Introduction to Games

3 credit hours

Games sit at the intersection of technology, art, and culture, so success within the games industry requires you to understand all three. This course explores why we love games, what role they play in society, and the industry that produces them. You will also learn the basics of game development. This course was developed in partnership with Unity and the IGDA to help everyone interested in the games industry start on the right foot. This online class has optional live sessions.

CMPSC 200

Virtual Worlds

4 credit hours

This course provides an introduction to programming using the Alice system, which provides a programming environment that supports objects, methods, functions, variables, parameters, arrays and events. Students will learn to write stories and storyboards and then drag-and-drop their objects into a 3-D micro world. Alice is provided free at http://www.alice.org.

CMPSC 202

Principles of Computer Programming I

4 credit hours

E: CMPLB-202
P: CMPSC-112
P: MATH-112

This is the first programming course in the basic sequence for computer science majors. The course will introduce the student to problem solving, algorithm development and the concept of structured programming using Java. Assignment, selection, control statements, data types, functions and arrays will be studied. The student will design, code and debug a variety of application programs. Emphasis will be on programming techniques, style and documentation. Offered every fall semester.

CMPSC 203

Principles of Computer Programming II

4 credit hours

E: CMPLB-203
P: CMPSC-202, MATH-200

Building on the techniques developed in CMPSC 202, the student will acquire a deeper understanding of object-oriented programming concepts. Topics include user-defined classes, inheritance, interfaces, recursion, and searching and sorting algorithms. Offered spring.

CMPSC 204

Game Design Theory

3 credit hours

This course introduces students to electronic game design. Students will analyze games of many types and genres. Topics include game mechanisms, prototyping, game theory, and theory of fun. A project will require students to work as a team to design and create a new video game.

CMPSC 206

Web Applications I

3 credit hours

This course teaches basic website creation and maintenance including the defining of a website, the development of pages and the use of text, graphics, hyperlinks, tables, forms, layered objects, frames, multimedia, templates, behaviors, style sheets and other features. As one of the course projects, students establish their own Web presence by developing a personal website.

CMPSC 222

Visual Data

3 credit hours

P: College Level Math

Visualization is how humans relate to data, and big data sets are becoming increasingly important for business decisions. This hands-on course teaches students how to find and collect good data, how to access it, and how to create, format and visualize business-related numerical reports using advanced spreadsheet techniques and professional visualization software (such as Tableau).

CMPSC 232

User Experience Ii: Building Compelling User Experiences

3 credit hours

P: CMPSC-132 and CMPSC-206

This course builds upon User Experience I and will teach you how to build effective user experiences through a rigorous process of implementing best practices, testing designs, and iterating. You will also cover topics such as branding, color palettes, user journeys, and designing for multiple platforms. By the end of this course, you will be able to build a mobile app or website prototype and iterate upon it based on user feedback. This online class has optional live sessions.

CMPSC 235

Systems Analysis and Design

3 credit hours

P: CMPSC-112

This course covers the major aspects of the systems development life cycle. It includes such topics as data collection, cost analysis, file design, input/output design, project documentation, system testing and implementation.

CMPSC 255

Introduction to Networks

3 credit hours

P: CMPSC-112 or consent of instructor

Former title: Fundamentals of Computer Networking. This is the first course in the Cisco CCNA Routing and Switching curriculum teaching students the architecture, structure, functions and components of the Internet and other computer networks. By the end of this course, students will be able to build simple LANs, perform basic configurations for routers and switches, and implement IP addressing schemes.

CMPSC 256

Operating Systems for Practitioners

3 credit hours

P: CMPSC-112

This course introduces the student to hardware and software implementation issues surrounding operating systems. Topics include file, memory, process, device and network management, the user interface and key features and implementations of popular operating systems such as Microsoft Windows, Linux/UNIX and Android. NOTE: Credit for this course will NOT be given to a student who has previously completed CMPSC 301.

CMPSC 260

Topics in Computer Science

1 to 4 credit hours

This course is provided for special topics in computer science of particular interest to faculty or students. Approval for course topic must be given by the Computer Science faculty.

CMPSC 262

Unix Fundamentals

3 credit hours

P: CMPSC-112

This course serves as an introduction to the foundational principles, concepts, and skills necessary for understanding and working with Unix/Linux operating systems. It introduces students to the main concept of the Unix and Linux operating system and the difference between both. It also examines the full range of Unix and Linux commands and utilities, shell and shell programing, file systems, and other functions and services.

CMPSC 263

Internet of Things

3 credit hours

P: CMPSC-112

This course acquaints students with the role and the technology underpinning the Internet of Things (IoT). Upon completion of this course, students will possess the requisite knowledge and skills to construct an IoT system. The curriculum covers various aspects, such as communication of IoT devices and sensors, data collection and storage, cloud computing, and leveraging IoT for the development of economically sustainable smart facilities and cities.

CMPSC 265

Network Security

3 credit hours

P: CMPSC-255

Network security is the general principles and practices used for protecting data, devices, and computer networks from any theft, damage, and unauthorized access. Since organizations and individuals heavily rely on networks for effective communication and data storage, it is crucial to have an effective security system in place to ensure the integrity, confidentiality, and availability of network resources. This course introduces students to the thread and vulnerabilities that exist in network environments and teaches them various ways for designing, implementing, and managing effective security measures to protect data, systems and networks.

CMPSC 266

Network Routing and Configuration

3 credit hours

P: CMPSC-255

This is the second course in the CCNA Routing and Switching curriculum teaching students how to configure a router and a switch for basic functionality. By the end of this course, students will be able to configure and troubleshoot routers and switches and resolve common issues with RIPv1, RIPng, single-area and multi-area OSPF, virtual LANs, and inter-VLAN routing.

CMPSC 267

Routing and Switching Protocols

3 credit hours

P: CMPSC-266

This is the third course in the CCNA Routing and Switching curriculum, teaching students how to configure routers and switches for advanced functionality. By the end of this course, students will be able to configure and troubleshoot routers and switches, and resolve common issues with OSPF, EIGRP, and STP.

CMPSC 268

WAN Technologies

3 credit hours

P: CMPSC-267

This is the fourth and final course in the CCNA Routing and Switching curriculum covering the WAN technologies and networks services employed by converged applications in a complex network. By the end of this course, students will be able to configure and troubleshoot network devices and resolve common issues with data link protocols.

CMPSC 270

Independent Study

1 to 3 credit hours

CMPSC 271

Content and Systems Design

3 credit hours

P: CMPSC-112 or CMPSC-171

If you have ever enjoyed the experience of playing a video game, you have had a first-hand lesson in how important content and systems design are. The experience of a game is driven by four major components: content, systems, narrative, and user experience. This class will help you learn to design all four components, and build a deeper understanding of the game development process and an introduction to concepts in scripting. This online class has optional live sessions.

CMPSC 275

Working With Unity

3 credit hours

P: CMPSC-200, CMPSC-202, or CMPSC-126

The Unity engine powers nearly 50% of all games and nearly 75% of mobile games. This course, built in collaboration with Unity and the IGDA, will introduce you to developing games in Unity. By the end of the course, you will learn how to build a fully functioning game within the Unity system, including all key elements. This online course has optional live sessions.

CMPSC 281

Introduction to Cyber Security I

3 credit hours

P: CMPSC-255

This course provides a management overview of information security and a thorough treatment of the administration of information security. Over the past few years, technology has become a critical part of business operations of all sizes. While the threats to security are well-known, as are the general techniques for protecting information, management has not kept pace. Because so much is at stake, both personally and professionally, through the administration of computer security, this course will provide a necessary background for managing the complexities of that arena. (Formerly Web Security)

CMPSC 282

Introduction to Cybersecurity II

3 credit hours

P: CMPSC-281

As technology has become a critical part of business operations of all sizes, there is a big need to learn the most effective and cost-efficient ways to protect information from security threats. This hands-on course examines real-world threats and how to prevent them using ethical hacking techniques in a live lab environment. It focuses on types of attacks, hacking fundamentals, and defenses.

CMPSC 285

Digital Forensics

3 credit hours

P: CMPSC-112

This course introduces students to the techniques and tools of computer forensics investigations in civil and criminal venues. Topics include coverage of the latest technologies (including PDAs, cell phones, and thumb drives), civil procedures, criminal procedures, analysis techniques, reporting, professional responsibility and ethical considerations. Hands-on activities using the most common forensic tools are an integral part of the coursework.

CMPSC 301

Operating Systems

3 credit hours

P: CMPSC-345

The basic functions of operating systems have not changed over time; however, the expression of those functions has. This course looks at that critical layer of software and the mechanisms employed to provide a seamless interface between the user and the underlying hardware of the computer device itself. Topics studied include the history and evolution of computer operating systems, basic structure, process management, processor management, file management, memory management, input-output management, multimedia systems, multi-processor systems, and an in-depth look at Linux and Windows operating systems. NOTE: Credit for this course will NOT be given to a student who has previously completed CMPSC 256.

CMPSC 306

WWW Applications II

3 credit hours

P: CMPSC-126 or CMPSC-202
P: CMPSC-206

This course introduces the student to several languages and software applications that extend the capabilities of basic HTML. Database-driven pages explored in this course include Dynamic HTML, XHTML, XML, VB Scripting and Active Server Pages.

CMPSC 309

Issues in Computing

3 credit hours

P: CMPSC-255
P: CMPSC-126 OR CMPSC-202

This course examines the social and ethical consequences of widespread computer usage in the context of society's increasing dependence on information and telecommunications technology. A survey of prominent and interesting ethical issues and problems is provided. Students will learn to use the tools of ethical analysis to address these problems and will identify issues of professional responsibility.

CMPSC 311

Data Structures and Algorithms

4 credit hours

P: CMPSC-203

This course builds on the object-oriented techniques begun in CMPSC 203. Topics include an examination of linked lists, graph representations and algorithms, trees, stacks, queues, and hashing.

CMPSC 321

Relational Database Theory and Design

4 credit hours

P: CMPSC-126 or CMPSC-202

This course introduces the student to the design and implementation of relational databases. Topics include the relational model, entity-relationship modeling, normalization, Structured Query Language (SQL), database redesign, privacy and security.

CMPSC 345

Computer Systems and Organization

4 credit hours

P: CMPSC-202, MATH-200

This course introduces students to the internal architecture of computer systems. The course material addresses the relationships among a computer's hardware components, native instruction set, assembly language, and high-level languages. Basic concepts in computer systems and their effect on the performance of programs are introduced. Assembly language programming exercises are used to explore computer architecture.

CMPSC 350

Internship

1 to 12 credit hours

The internship opportunity is reserved for students who are employed in positions that involve computer science or information systems knowledge and skills. We provide this opportunity to encourage students to gain practical, real-world experience that can enhance their understanding of the discipline and their potential as computer professionals. The student must apply for the academic credit at the time the internship takes place. See Division director for internship guidelines.

CMPSC 351

Algorithm Analysis and Design

3 credit hours

P: MATH-200, CMPSC-203

This course provides an introduction to different design and analysis approaches of computer algorithms. These include searching, sorting and graph algorithms. Analytic approaches including proof of correctness and calculations of time and memory complexity are covered. The concept of distributed algorithms is introduced and compared to centralized algorithms.

CMPSC 360

Advanced Topics in Computer Science

1 to 4 credit hours

This course provides students with an opportunity to study in detail one specific topic or area in computer science. The specific topic presented can be an area of particular interest to faculty or students, but must receive approval of the program. Possible topics include video game development, distributed systems, queuing theory, artificial intelligence and parallel processing.

CMPSC 370

Independent Study

1 to 4 credit hours

Individual study projects for advanced students in computer science. Topic to be determined by instructor and student.

CMPSC 372

C# Programming

3 credit hours

P: CMPSC-203

C# is a modern, general purpose, object-oriented programming language with a range of uses, most notably creating desktop applications, web applications, web services and building games using the Unity engine. This course is intended to give students a working knowledge of the C# programming language and the .NET framework, as well as an understanding of C#'s application to the Unity Game Development Engine. This online course has optional live sessions.

CMPSC 375

Unity II: Advanced Unity Programming

3 credit hours

P: CMPSC-275 and CMPSC-372

This course is intended to provide students with the skills and knowledge to bring their mastery of the Unity game engine and C# programming up to a professional standard. Students will learn how to perform a range of vital code-based talks with in the Unity platform, and will grow their skills in building core gameplay functionality, supporting systems and platform-specific optimizations. This course was built in collaboration with Unity. Upon successful completion, students will be prepared to sit for he Unity Certified Associate: Programmer Exam. This online course has optional live sessions.

CMPSC 390

Software Engineering

4 credit hours

P: CMPSC-311, CMPSC-321

This course addresses the foundations, methodologies, and tools for developing high-quality large-scale software systems, with an emphasis on the technical issues of software development. Students in this course work in groups to design and implement real-world projects for clients such as non-profit organizations and other community groups. Since some of these activities may occur off campus, students should be prepared to travel to the client site. NOTE: Requires participation in community-based activities, some of which may occur off campus.

CMPSC 393

Goal-Oriented Web Design

3 credit hours

P: CMPSC-232 and CMPSC-306

One of the main goals of a company's website is to improve its bottom line. In this course you will propose and build a new website for an existing company. This website should be optimized to boost conversion events for the company in question. In doing so, you will need to research customer behavior and industry trends in order to successfully generate leads and sales. This course will test all of the skills built up through the Web Design major - design, prototyping, optimization, and programming. This online class has optional live sessions.

CMPSC 395

Computer Information Systems Capstone Course

3 credit hours

P: CMPSC-255
P: CMPSC-126 or CMPSC-202

This is the capstone course for the computer information systems major. Students will first study and then create a professional report on one of the most recent developments in the field. The report and presentation are expected to showcase senior level skills and knowledge. Special attention will be given to career strategies and preparation for the job search.

CMPSC 397

Capstone Project: Building a Game

3 credit hours

P: CMPSC-271 and CMPSC-372

This course is intended as a culmination of all a student's work in the game development concentration. Students will work in groups to build a game in the unity engine that uses real-time 2D or 3D visuals and showcases their understanding of the core principles of game design. Students will pitch their game, design, prototype, build and test their game. Students will be evaluated based on the quality of their game, and their internal project management processes. This online course has optional live sessions.