Computing Sciences Department
The University of Scranton

Scranton, PA 18510
(717) 941-7774
(717) 941-4250 [fax]
cmps@cs.scranton.edu [email]

Computing Sciences: Course Listing
100 | 200 |300 | 400

Computer/Info. Literacy Courses
CIL 102 Computer and Infomation Literacy
2 credits/1 credit lab.
The computer is a tool that amplifies our intellectual ability and helps in problem solving. This course includes the presentation of issues in computing that impact on our personal lives and raise important societal concerns. Laboratory exercises introduce students to important computer-based problem-solving tools including word processors, electronic spreadsheets, and statistical and graphics software 2 hours lecture and 2 hours laboratory; lecture and lab must be taken concurrently; withdrawal from one requires withdrawal from both.

100 Level
CMPS 108 COBOL Programming
3 credits
(Prerequisite: Previous use of a computer) An introduction to ANSI standard COBOL. Traditional business applications will be emphasized. Topics include internal data representation, data, editing, calculations, one-level tables, search, sort, and reporting.

CMPS 134 Computer Sciences I

3 credits
An introduction to programming concepts and methodology using the programming language Pascal. The course emphasizes a structured programming approach. Topics included are problem analysis, modularization, top-down design and the elements of the programming language Pascal.

CMPS 144 Computer Science II

4 credits
(Prerequisite: CMPS 134, AND MATH 142) A sequel to CMPS 134, continuing the study of software development using a modern object-oriented programming language. The course deals with the role of analysis and design in the construction of quality software, emphasizing logical modularization, abstraction, coupling, cohesion, and program correctness. The course also presents the object-oriented concepts of polymorphism and dynamic dispatch and discusses such software engineering concepts as encapsulation, information hiding, and software reuse.


200 Level Courses
CMPS 240 Date Structures
3 credits
(Prequisite: CMPS 144) An examination of the issues of representation and encapsulations, as they pertain to abstract data types. Measurement of the efficiency of representations and the algorithms that employ them. A modern object-oriented programming language is used.

CMPS 250 Machine Organization and Assembly Language Programming

3 credits
(Prequisite: CMPS 144) An introduction to machine organization and architecture. Among the topics discussed will be machine organization, assembler programming, the representation of data, the assembler, input-output routines and the use of macros.

CMPS 260 Theoretical Foundations of Computer Science

3 credits
(Prerequisite: CMPS 240) An examination of the fundamental models and concepts of computation-automate, formal languages, and grammars-and how they are related. Church-Turing thesis; recursive and recursively renumerable sets; unsolvable problems;complexity of algorithms; Chomsky hierarchy


300 Level Courses
CMPS 330 Information Systems
3 credits
(Prequisite: CMPS 102 or CMPS 104 or CMPS 134) Introduction to concepts and practices of information processing, Computerized system requirements and techniques in providing appropriate decision-making information to management.

CMPS 331 Systems Analysis and Design

3 credits
(Prequisite: CMPS 330) A study of the system development methodology and the role played by the systems analyst in developing user-accepted information systems.

CMPS 340 File Processing 4 credits
(Prequisite: CMPS 144 required, CMPS 240 recommended.) File structures concepts and file processing applications using COBOL as a programming language. Topics include file maintenance and storage management; file searching, sorting, and merging; cosequential processing; index structures; B-tree, hash tables, indexed sequential files; database concepts.

CMPS 344 Programming Languages

3 credits
(Prerequisite: CMPS 352) A study of programming languages from both the theoretical and practical perspectives. The evolution of languages is reviewed in order to know the design considerations of the past and recognize those of the present. 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 compiling and interpretation.

CMPS 350 Computer Architecture

3 credits
(Prerequisite: CMPS 250) 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 micro-programmed control unit designs, memory systems (caches and virtual memory), I/Q systems (interrupts, DMA, and channels). Overview and examples of alternative and advanced computer architectures (pipeline, array processors, multiprocessors).

CMPS 352 Operating Systems

3 credits
(Prerequisite: CMPS 240 and CMPS 250) The analysis an design of computer systems, including operating system design, memory management, scheduling, and the implementation of multiprogramming.

CMPS 354 Data Communication and Networks

3 credits
(Prerequisite: CMPS 352) 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 360 Analysis of Algorithms

3 credits
Prerequisite: CMPS 240) A survey of methods for designing and analyzing algorithms. Classic alogrithms 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

3 credits
Prerequisite: CMPS 134 and MATH 222) A survey of numerical methods of solving equations, integration, differentiation, interpolation, differential equations, and linear algebra, and the analysis of error.

CMPS 364 Theory of Computation

3 credits
(Prerequisite: CMPS 260) 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

3 credits
(Prerequisite: CMPS 240) An introduction to the hardware, software, and techniques used to generate graphical representations by computer. Two and three dimensional concepts and algorithms are studied with corresponding use of popular standard packages (GKS, PHIGS, etc) to generate images. Advanced topics such as animation and the various aspects of realistic rendering are introduced.

CMPS 372 Artificial Intelligence

3 credits
(Prerequisite: CMPS 240) Problem solving using Expert Systems, heuristic programming techniques, tree speed-up techniques, and learning mechanisms.

CMPS 374 Fundamentals of Software Engineering

3 credits
(Prerequisite: CMPS 240) 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 384 Special Topics

3 credits
(Departmental permission required) Topics and prerequisites will be announced prior to preregistration.

CMPS 393 Computer Research

3 credits
(Departmental permission required) 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.


400 Level
CMPS 440 Compiler Design
3 credits
(Prerequisite: CMPS 344) 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

3 credits
(Departmental permission required) An intensive job experience in computing which carries academic credit. Prior approval is required and an information booklet is available from the department. Reader fee.

CMPS 490 (W) Computer Projects

3 credits
(Departmental permission required) In this course students prepare and present individual computer projects to be evaluated by the instructor and their fellow students. Seniors only.