2013–2014 Computer Science Courses


CMPT 200 Special Topics (1–4)
CMPT 201 Introduction to Computer Science (4)
CMPT 202 Introduction to Data Structures (4)
An exploration of data structures including stacks, queues, trees, and dictionaries, and a comparison of the algorithmic efficiencies based upon their implementations. Three lectures and one two-hour lab. Prerequisites: CMPT 201. Offered every Spring semester.
CMPT 251 Computer Systems and Programming (4)
An examination of a computer system from the programmer’s perspective. We examine how your programs interact with the compiler, the assembler, the operating system, and the hardware. Such study helps explain how to write more efficient software. We will introduce and use the C programming language, the UNIX operating system, and Intel assembly. Offered every Fall semester. Prerequisites: CMPT 201.
CMPT 260 Computer System Fundamentals (4)
CMPT 301 Artificial Intelligence (4)
The study of logical agents, search techniques, logic, game and decision trees, constraint satisfaction propagation, search techniques, heuristics and probability. Prerequisites: CMPT 202.
CMPT 306 Algorithms and Data Structures (4)
CMPT 307 Database Systems (4)
A study of relational databases from theory through practical design, implementation, and application programming. The course also examines other topics such as relational algebra, SQL, and designing web interfaces. . Prerequisite: CMPT 202. Corequisite: CMPT 251
CMPT 322 Software Engineering (4)
CMPT 328 Computer Architecture (4)
Processor organization, memory system organization, bus structures, I/O and storage devices, interfacing and communication. Viewed through RISC assembly language, breadboards, and programming. Prerequisites: CMPT 251.
CMPT 335 Computer Security (4)
CMPT 351 Operating Systems (4)
A study of the design of contemporary operating systems. Topics include process and thread management, CPU scheduling, concurrency and parallelism, memory management and I/O device management. Ongoing case studies include UNIX/Linux, Windows, as well as mobile operating systems. Prerequisites: CMPT 251, 306.
CMPT 352 Computer Networks (4)
A study of software components and protocols in contemporary computer networks with particular emphasis onTCP/IP networks and the Internet. Prerequisite: CMPT 202.
CMPT 355 Compilers (4)
CMPT 360 Computer Graphics (4)
CMPT 375 E-Commerce (4)
Topics include Internet technologies, e-commerce web sites, databases and information management, on-line auctions, and digital versus bricks-and-mortar versus bricks with clicks business models. Co-requisite: CMPT 307.
CMPT 385 Senior Project Proposal Writing (1)
Students will write a detailed proposal describing their capstone project to be completed in CMPT 390. Prerequisites: computer science or computer information systems major in the last Fall semester of his or her course of study. Offered every Fall semester.
CMPT 387 Undergraduate Teaching (1)
CMPT 390 Senior Capstone Project (2)
A required capstone course for senior computer science and computer information systems majors. The purpose is to develop a significant independent software project. In addition, students are expected to submit portfolios of their coursework at Westminster College. Prerequisites: computer science or computer information systems major in the last Spring semester of his or her course of study. Offered every Spring semester.
CMPT 401 Directed Studies (1–4)
CMPT 440 Internship (1–8)