Saint Xavier University Chicago Campus Residence Halls

Computer Science


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

Pre-requisite: P (RQ) MATH-099

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

Pre-requisite: E (RQ) CMPLB-202 and P: CMPSC-112 MATH-112 (RQ)

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

Pre-requisite: E (RQ) CMPLB-203 and P: CMPSC-202, MATH-200 (RQ)

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

Pre-requisite: P (RQ) 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 235

Systems Analysis and Design

3 credit hours

Pre-requisite: P (RQ) 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

Pre-requisite: P (RQ) 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

Pre-requisite: P (RQ) 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 department. Consent of the instructor is required.

CMPSC 266

Network Routing and Configuration

3 credit hours

Pre-requisite: P (RQ) 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

Pre-requisite: P (RQ) 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

Pre-requisite: P (RQ) 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 280

Web Servers

3 credit hours

Pre-requisite: P (RQ) 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.

CMPSC 281

Introduction to Cyber Security I

3 credit hours

Pre-requisite: P (RQ) 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

Pre-requisite: P (RQ) 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

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

Pre-requisite: P (RQ) 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

Pre-requisite: P (RQ) 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

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

Pre-requisite: P (RQ) 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

Pre-requisite: P (RQ) CMPSC-201 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

Pre-requisite: P (RQ) 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/studies 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 department chairperson for internship guidelines.

CMPSC 351

Algorithm Analysis and Design

3 credit hours

Pre-requisite: P (RQ) 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 department. 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 390

Software Engineering

4 credit hours

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 395

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.