2010 - 2011 Computer Science Courses

CMPT 100 The Information Age: A Changing Society, Computers, and You, LE (3)
An overview of how computing technology—and the Internet—works and how it is transforming our society. This course is about seeing technology, thinking about it, understanding how basic aspects of it work in simple terms, and considering the current and potential impacts of technology on us and on our world. Topics include programming robots as well as three-dimensional animated worlds.
 
CMPT 200/
300/400
Special Topics (1–4)
A special topics course covering new or specialized courses in Computer Science. Prerequisites will vary with course content.
 
CMPT 201 Introduction to Computer Science (4)
Introduction to programming fundamentals, including problem solving skills, program design, object-oriented programming, coding, testing, and debugging using the Java programming language. Three lectures and one two-hour lab. Co-requisite: MATH 105 and current computer literacy skills. Offered every Fall semester.
 
CMPT 202 Introduction to Data Structures (4)
Introduction to a variety of computer science topics including recursion, data structures and software engineering principles using Java. 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 the compiler, the operating system, the hardware, and their interaction. Next we explore how software interacts with each of these layers. 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)
This course provides an overview of the fundamental components of a modern computer system including computer architecture and organization, operating systems, and computer networks. Additional topics include computer security, databases, the Internet and the World Wide Web.
 
CMPT 301 Artificial Intelligence (4)
The study of rule-based systems, game and decision trees, constraint propagation, search techniques, means-end analysis, and heuristics and problem solving. Prerequisites: CMPT 202.
 
CMPT 306 Algorithms and Data Structures (4)
Algorithms and data structures including graphs, trees, algorithmic methods, and complexity analysis. Includes a two-hour lab. Prerequisites: CMPT 202 MATH 210. Offered every Fall semester.
 
CMPT 307 Database Systems (4)
A practical study of relational database theory and external data structures. Prerequisite: CMPT 202.
 
CMPT 322 Software Engineering (4)
An overview of constructing software using an Agile approach to software development and design. Topics include software planning and design, scheduling, testing and reliability, and software maintenance. A semester-long project developed in a group setting. Prerequisite: CMPT 202.
 
CMPT 328 Computer Architecture (4)
Processor organization, memory system organization, bus structures, I/O and storage devices, interfacing and communication. Prerequisites: CMPT 251.
 
CMPT 335 Computer Security (4)
An introduction to the fundamentals of computer security as it relates to several areas of computer science including networking, operating systems, and databases. Topics range from cryptography to less technical areas such as user policies and legal issues. Basic UNIX/Linux skills are recommended.
 
CMPT 351 Operating Systems (4)
A study of the design of contemporary operating systems. Topics include process and thread management, CPU scheduling, concurrency, memory management and I/O device management. Ongoing case studies include UNIX/Linux, Windows, and OS X. Prerequisites: CMPT 251, 306.
 
CMPT 352 Computer Networks (4)
A study of hardware and software components and protocols in local and wide area networks. Emphasizes TCP/IP networks and the Internet. Prerequisite: CMPT 202.
 
CMPT 355 Compilers (4)
Syntax analysis, semantics, code generation, optimization, and run time systems. A complete compiler for a small subset of the Java language will be implemented. Prerequisites: CMPT 202, 251.
 
CMPT 360 Computer Graphics (4)
Fundamental computer graphics algorithms, including two- and three-dimensional transformations, viewing projections, lighting models, texture mapping, and ray-tracing. Prerequisites: CMPT 306; MATH 201. Recommended: basic linear algebra skills.
 
CMPT 362 Numerical Analysis (4)
Solution of nonlinear equations and linear systems, interpolation and approximation, and numerical differentiation and integration. Students expected to program some problems for computer solutions. Prerequisites: MATH 203 and some programming experience. Same as MATH 362.
 
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. Prerequisites: CMPT 307
 
CMPT 387 Undergraduate Teaching (1)
For teaching assistants in lower division computer science problem solving courses. A maximum of two credit hours of CMPT 387 may be applied toward the major or minor. Prerequisite: consent of program director.
 
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 as well as complete a standardized ETS subject exam. 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)
A tutorial-based course used only for student-initiated proposals for intensive individual study of topics not otherwise offered in the Computer Science Program. Prerequisite: consent of the instructor and school dean.
 
CMPT 440 Internship (1–8)
Offers students the opportunity to integrate classroom knowledge with practical experience. Prerequisites: junior or senior standing (for transfer students, at least 15 hours completed at Westminster), minimum 2.5 GPA, completion of the Career Resource Center Internship Workshop, and consent of program director and Career Center Internship Coordinator. A maximum of 4 hours of CMPT 440 may be applied toward the major or minor.