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  


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.


Business Programming

4 credit hours

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.


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.


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


Principles of Computer Programming I

4 credit hours

E: CMPLB-202
P: CMPSC-112 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.


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.


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.


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.


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).


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.


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.


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.


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.


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.


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.


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.


Independent Study

1 to 3 credit hours


Web Servers

3 credit hours

P: CMPSC-255

This course is concerned with the tools and techniques needed by a Web server administrator and the tasks they are expected to perform. Topics include the basics of the job, server installation, and the installation and configuration of various kinds of Web servers. Linux and Windows server environments will be used.


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)


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.


Digital Forensics

3 credit hours

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.


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.


WWW Applications II

3 credit hours

P: CMPSC-206, and either CMPSC-126 or CMPSC-202

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.


Issues in Computing

3 credit hours

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.


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.


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.


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.



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.


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.


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.


Independent Study

1 to 4 credit hours

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


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.


Computer Information Systems Capstone Course

3 credit hours

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 is expected to showcase senior level skills and knowledge. Special attention will be given to career strategies and preparation for the job search.