Top
×

Course Details

×

Password Change

Your password has been successfully changed!

×

Something went wrong...

×

Enter Credentials

Login:

Please enter your Computing Sciences username/password

Username:
Password:
×

Enter Required Information

Account Lookup:

Please enter your information

Last Name:
University Email Address:
University R Number:

Click to Login

Course Descriptions


The entire University of Scranton Course Catalog is available on the University of Scranton website



Looking for a printer friendly version? Click here

CMPS 101 - (Q) Computational Thinking

Prerequisites:None
Corequisites:None
Credits:3cr

This course introduces students to the concepts, methods, and principles employed by Computer Scientists in problem solving and solution development. This body of knowledge has been successfully adopted by a wide variety of disciplines enabling significant advances in those disciplines. Students will be introduced to this body of knowledge through the analysis of relevant problems and also learn to apply it through the development of computer programs.

CMPS 112 - (FYDT, FYOC) Introduction to Computing and Information Technology

Prerequisites:None
Corequisites:None
Credits:3cr

This course presents foundational concepts and surveys the past, present and future of computing and information technology with an emphasis on the seminal ideas, concepts, inventions and innovations that fuel the Digital Revolution. The sub-disciplines of computing are identified and discussed relative to each other. This course is designed to foster knowledge and abilities needed for gathering, evaluating and disseminating information with an emphasis on digital technology and oral communication. (Credits may not be earned for both CMPS 112 and IT 112.)

CMPS 134 - Computer Science I

Prerequisites:None
Corequisites:CMPS 134L
Credits:3cr

An introduction to programming concepts and methodology using an object-oriented programming language (currently Java). Topics include problem analysis, abstraction, modularization, the development and use of algorithms, reuse, and the use of programming constructs including data types, classes, control structures, and methods.

CMPS 134L - Computer Science I Lab

Prerequisites:CMPS 134 (with departmental permission)
Corequisites:CMPS 134
Credits:1cr

Programming-related activities are undertaken that apply essential concepts from CMPS 134, including problem decomposition, modularization, flow of control, scoping, object-orientation, and algorithm development.

CMPS 136 - Computer Programming II

Prerequisites:CMPS 134
Corequisites:None
Credits:3cr

For non-computing majors who want more object-oriented programming experience. Includes data structures, file processing, graphical user interfaces and event-driven programming. May not be used to satisfy the requirements of CMPS or CIS. May not be taken by a student who has credit for CMPS 144.

CMPS 144 - Computer Science II

Prerequisites:CMPS 134, CMPS 134L, and either MATH 114 or MATH 142
Corequisites:CMPS 144L
Credits:3cr

This course emphasizes object-oriented software development, addressing both software engineering and programming. Topics include modularization, abstraction, encapsulation/information hiding, software reuse, software testing, classic data abstractions (e.g., lists, trees) and algorithms (e.g., sorting, searching), recursion, program correctness, and basic algorithm analysis.

CMPS 144L - Computer Science II Lab

Prerequisites:CMPS 134 and CMPS 134L
Corequisites:CMPS 144 is required as a co-requisite, or as a prerequisite with departmental permission.
Credits:1cr

Activities are undertaken that apply programming concepts form CMPS 144, including object-orientation, inheritance, polymorphism, iterators, generics, algorithms involving various container structures (e.g., stacks, queues, lists, trees, graphs), analysis of algorithms, and concurrency.

CMPS 204 - Computer Forensics

Prerequisites:C/IL 102/102L or its equivalent
Corequisites:None
Credits:3cr

An introduction to the field of computer forensics emphasizing the collection and analysis of both persistent and volatile data from computer systems, networks, and storage media in a manner that is admissible in a court of law. May not be used as a major elective for any major in the Computing Sciences Department.

CMPS 213 - Sophomore Colloquia I

Prerequisites:None
Corequisites:CMPS 134
Credits:0.5cr

CMPS 213 is offered each Fall Semester. Each semester a minimum of five meetings are held where important, emerging, or interesting topics in computing are presented and discussed. The material comes from a variety of sources including, but not limited to, faculty, alumni, invited speakers, students, and professional webinars and videos.

CMPS 214 - Sophomore Colloquia II

Prerequisites:None
Corequisites:CMPS 134
Credits:0.5cr

CMPS 214 is offered each Spring Semester. Each semester a minimum of five meetings are held where important, emerging, or interesting topics in computing are presented and discussed. The material comes from a variety of sources including, but not limited to, faculty, alumni, invited speakers, students, and professional webinars and videos.

CMPS 240 - Data Structures and Algorithms

Prerequisites:CMPS 144
Corequisites:None
Credits:3cr

An examination of the issues of data representation, algorithm structure, and encapsulation as they pertain to the development of object-oriented software. Abstract data types studied include stacks, queues, binary trees, n-ary trees, and graphs. Various representation alternatives are analyzed and compared, trade-offs frequently encountered by software developers are discussed.

CMPS 250 - Machine Organization and Assembly Language Programming

Prerequisites:CMPS 144
Corequisites:None
Credits:3cr

An introductory study of the organization and architecture of computers through an exploration of various virtual machines. Programming at the assembly-language level and interfacing with software components (primarily written in C). Topics include representation of data and instructions, computer arithmetic, memory hierarchies, instruction sets, addressing modes, digital logic, microprogramming, pipelining, and parallel processing.

CMPS 260 - Theoretical Foundations of Computer Science

Prerequisites:CMPS 240
Corequisites:None
Credits:3cr

An examination of the fundamental models and concepts of computation – automata, formal languages, and grammars – and how they are related. Church-Turing thesis; recursive and recursively enumerable sets; unsolvable problems; complexity of algorithms; Chomsky hierarchy.

CMPS 312 - Web Technology

Prerequisites:C/IL 102/102L or equivalent, COMM 329, IT 354
Corequisites:None
Credits:3cr

This course covers the fundamental aspects of developing and maintaining Web sites. It provides a thorough coverage of the structure and elements of HTML and JavaScript necessary to create commercial-quality Web sites. Brief coverage will also be given to graphic design and multimedia content. Emphasis will be placed on client-side development although server-side issues will be considered. May not be used as part of any major in the Computing Sciences Department. Cannot be taken by a student who has credit for IT 120 or CMPS 356.

CMPS 313 - Junior Colloquia I

Prerequisites:None
Corequisites:CMPS 213
Credits:0.5cr

CMPS 313 is offered each Fall Semester. Each semester a minimum of five meetings are held where important, emerging, or interesting topics in computing are presented and discussed. The material comes from a variety of sources including, but not limited to, faculty, alumni, invited speakers, students, and professional webinars and videos.

CMPS 314 - Junior Colloquia II

Prerequisites:None
Corequisites:CMPS 214
Credits:0.5cr

CMPS 314 is offered each Spring Semester. Each semester a minimum of five meetings are held where important, emerging, or interesting topics in computing are presented and discussed. The material comes from a variety of sources including, but not limited to, faculty, alumni, invited speakers, students, and professional webinars and videos.

CMPS 330 - (W,EPW) Information Systems Analysis

Prerequisites:C/IL 102/102L/C/IL 104 or CMPS 134
Corequisites:None
Credits:3cr

Introduction to concepts and practices of information processing. Computerized system requirements and techniques in providing appropriate decision-making information to management.

CMPS 331 - Information Systems Development

Prerequisites:CMPS 330
Corequisites:None
Credits:3cr

A study of system-development methodology and the role played by the systems analyst in developing user-accepted information systems.

CMPS 340 - Introduction to Database

Prerequisites:CMPS 144 required, CMPS 240 recommended
Corequisites:None
Credits:3cr

File structures concepts and file processing applications. Topics include file maintenance and storage management; file searching, sorting, and merging; consequential processing; index structures; B-trees; hash tables; indexed sequential files; database concepts.

CMPS 341 - Database Systems

Prerequisites:CMPS 340 required, CMPS 240 recommended
Corequisites:None
Credits:3cr

An introduction to database management systems with an emphasis on relational database design and applications. It uses an appropriate database package such as ORACLE or PostgreSQL.

CMPS 344 - Programming Languages

Prerequisites:CMPS 240
Corequisites:None
Credits:3cr

A study of programming languages from both the theoretical and practical perspectives. A survey of major and developing paradigms and languages is undertaken which includes use of specific languages to broaden the student’s experience. Implementation is studied through an introduction to language translation along with a study of run-time models and interfaces with virtual machines.

CMPS 350 - Computer Architecture

Prerequisites:CMPS 250
Corequisites:None
Credits:3cr

A study of the logical structure of computer-system organization including a survey of logic and design with an emphasis on functional components. Topics include instruction sets, hard-wired and microprogrammed control-unit designs, memory systems (caches and virtual memory), I/O systems (interrupts, DMA, and channels). Overview and examples of alternative and advanced computer architectures (pipeline, array processors, multiprocessors).

CMPS 352 - Operating Systems

Prerequisites:CMPS 240, CMPS 250
Corequisites:None
Credits:3cr

An introduction to the principles of operating systems. Topics include operating system structure, process management, scheduling and dispatching, process synchronization and interprocess communication, memory management, virtual memory, device management, I/O, and file systems.

CMPS 354 - Data Communications and Networks

Prerequisites:CMPS 352
Corequisites:None
Credits:3cr

A study of data communication and networking concepts, including distributed-system architectures, electronic interfaces, data-transmission, data link protocols, terminal networks, computer communication, public-data networks, and local-area networks.

CMPS 355 - Mobile Application Development

Prerequisites:CMPS 352
Corequisites:None
Credits:3cr

This course deals with the development of software for mobile devices such as smartphones and tablets. Topics include, but are not limited to, graphical user interface design, event-driven software model, resource management, interfacing with sensors, concurrency, database access, and networking.

CMPS 356 - Web Programming

Prerequisites:CMPS 240, HTML experience to the level where the students are capable of developing their own Web page
Corequisites:None
Credits:3cr

This course covers all aspects of programming on the World Wide Web. This includes the presentation of HTML, Java, JavaScript and CGI. Topics include advanced HTML (maps, forms, etc.) client-server programming basics as they relate to the Web, Java machine concepts, Java/JavaScript similarities and differences, server-side programming, GIF animations, Web programming resources and environments. (Students may not earn credit for CMPS 356 and IT 356.)

CMPS 358 - Real-Time Systems

Prerequisites:CMPS 352
Corequisites:None
Credits:3cr

A study of issues related to systems that interface with the physical world and must meet the timing constraints imposed on them. Topics include: real-time hardware architecture, real-time operating systems, invoking and managing threads and processes, interprocess communications and synchronization, manipulating process priority, concurrent programming, exception handling, software safety, reliability, and fault tolerance.

CMPS 360 - Analysis of Algorithms

Prerequisites:CMPS 240
Corequisites:None
Credits:3cr

A survey of methods for designing and analyzing algorithms. Classic algorithms from graph theory, combinatorics and text processing are examined, as are traditional design strategies such as divide-and-conquer, backtracking and dynamic programming. Other topics include NP-completeness and parallel algorithms.

CMPS 362 - Numerical Analysis

Prerequisites:CMPS 134, MATH 222
Corequisites:None
Credits:3cr

A survey of numerical methods for solving equations, integration, differentiation, interpolation, differential equations, and linear algebra, and the analysis of error.

CMPS 364 - Theory of Computation

Prerequisites:CMPS 260
Corequisites:None
Credits:3cr

The development of a theoretical notion of computability and its relationship to Turing computability and recursive functions; the study of the relationships between automata, formal languages and grammars.

CMPS 370 - Computer Graphics

Prerequisites:CMPS 240
Corequisites:CMPS 250
Credits:3cr

An introduction to the hardware, software and techniques used to generate graphical representations by computer. Two and three dimensional concepts, algorithms and architectures are studied. An essential aspect of the course involves the development of programs utilizing appropriate APIs (currently OpenGL is emphasized) as a means of developing expertise. Advanced topics may be pursued as appropriate.

CMPS 372 - Artificial Intelligence

Prerequisites:CMPS 240
Corequisites:None
Credits:3cr

Problem solving using expert systems, heuristic programming techniques, tree speed-up techniques, and learning mechanisms.

CMPS 374 - (W,EPW) Fundamentals of Software Engineering

Prerequisites:CMPS 240
Corequisites:None
Credits:3cr

An introduction to the concepts of Software Engineering. Stress is placed upon formal models for the design and development of high-quality software. Topics include: project planning, requirements analysis, system design, program design, program implementation, program testing, system testing, system delivery, and maintenance. A group project will be included.

CMPS 376 - Rapid Prototyping

Prerequisites:CMPS 136 or CMPS 144
Corequisites:None
Credits:3cr

Some common applications using a database with a visual interface (perhaps Web based) can be successfully treated using Rapid Prototyping (a.k.a. Rapid Application Development). This course will cover the synergy of combining a visual language and a relational database employing rigorous design techniques.

CMPS 384 - Special Topics

Prerequisites:As published
Corequisites:None
Credits:3cr

Some recent courses have covered Rapid Prototyping, Real-Time Systems, and Parallel Computing. A syllabus including prerequisites is published prior to the registration period for the course.

CMPS 393 - Computer Research

Prerequisites:Departmental permission
Corequisites:None
Credits:3cr

A research project carried out by a student under the direction of a faculty member in the department. The results will be prepared in a form suitable for publication. Reader fee.

CMPS 413 - Senior Colloquia I

Prerequisites:None
Corequisites:CMPS 313
Credits:0.5cr

CMPS 413 is offered each Fall Semester. Each semester a minimum of five meetings are held where important, emerging, or interesting topics in computing are presented and discussed. The material comes from a variety of sources including, but not limited to, faculty, alumni, invited speakers, students, and professional webinars and videos.

CMPS 414 - Senior Colloquia II

Prerequisites:None
Corequisites:CMPS 314
Credits:0.5cr

CMPS 414 is offered each Spring Semester. Each semester a minimum of five meetings are held where important, emerging, or interesting topics in computing are presented and discussed. The material comes from a variety of sources including, but not limited to, faculty, alumni, invited speakers, students, and professional webinars and videos.

CMPS 440 - Compiler Design

Prerequisites:CMPS 344
Corequisites:None
Credits:3cr

Study of techniques and problems involved in constructing compilers. Lexical analysis, syntax analysis, semantic analysis, symbol-table management, code generation, code optimization.

CMPS 481 - Computer Internship

Prerequisites:Departmental permission
Corequisites:None
Credits:3cr

An extensive job experience in computing which carries academic credit. Prior approval is required; information is available on the department Web site.

CMPS 490 - (W,EPW) Computer Projects

Prerequisites:Senior standing, departmental permission
Corequisites:None
Credits:3cr

In this course, students prepare and present individual computer projects to be evaluated by the instructor and their fellow students.


Course Descriptions

The entire University of Scranton Course Catalog is available on the University of Scranton website





Pre-requisites:None
Co-requisites:None
Credits:3cr

Pre-requisites:None
Co-requisites:None
Credits:3cr

Pre-requisites:None
Co-requisites:CMPS 134L
Credits:3cr

Pre-requisites:CMPS 134 (with departmental permission)
Co-requisites:CMPS 134
Credits:1cr

Pre-requisites:CMPS 134
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 134, CMPS 134L, and either MATH 114 or MATH 142
Co-requisites:CMPS 144L
Credits:3cr

Pre-requisites:CMPS 134 and CMPS 134L
Co-requisites:CMPS 144 is required as a co-requisite, or as a prerequisite with departmental permission.
Credits:1cr

Pre-requisites:C/IL 102/102L or its equivalent
Co-requisites:None
Credits:3cr

Pre-requisites:None
Co-requisites:CMPS 134
Credits:0.5cr

Pre-requisites:None
Co-requisites:CMPS 134
Credits:0.5cr

Pre-requisites:CMPS 144
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 144
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 240
Co-requisites:None
Credits:3cr

Pre-requisites:C/IL 102/102L or equivalent, COMM 329, IT 354
Co-requisites:None
Credits:3cr

Pre-requisites:None
Co-requisites:CMPS 213
Credits:0.5cr

Pre-requisites:None
Co-requisites:CMPS 214
Credits:0.5cr

Pre-requisites:C/IL 102/102L/C/IL 104 or CMPS 134
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 330
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 144 required, CMPS 240 recommended
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 340 required, CMPS 240 recommended
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 240
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 250
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 240, CMPS 250
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 352
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 352
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 240, HTML experience to the level where the students are capable of developing their own Web page
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 352
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 240
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 134, MATH 222
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 260
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 240
Co-requisites:CMPS 250
Credits:3cr

Pre-requisites:CMPS 240
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 240
Co-requisites:None
Credits:3cr

Pre-requisites:CMPS 136 or CMPS 144
Co-requisites:None
Credits:3cr

Pre-requisites:As published
Co-requisites:None
Credits:3cr

Pre-requisites:Departmental permission
Co-requisites:None
Credits:3cr

Pre-requisites:None
Co-requisites:CMPS 313
Credits:0.5cr

Pre-requisites:None
Co-requisites:CMPS 314
Credits:0.5cr

Pre-requisites:CMPS 344
Co-requisites:None
Credits:3cr

Pre-requisites:Departmental permission
Co-requisites:None
Credits:3cr

Pre-requisites:Senior standing, departmental permission
Co-requisites:None
Credits:3cr