State University of New York at New Paltz · Courses
CPS
69 courses with the subject CPS, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CPS 100Computers and Applications3
This course will provide students with a broad overview of computers and their uses. Topics include hardware, software, and the Internet/World Wide Web. Various applications such as word processing, spreadsheets, and database management systems will be discussed. The course is not intended for Computer Science majors.
This course covers the Windows environment including files, program groups, Windows Help and applications. It covers visual programming topics such as applications, windows, controls and script writing.
Selected topics courses are regularly scheduled courses that focus on a particular topic of interest. Descriptions are printed in the Schedule of Classes each semester. Selected topics courses may be used as elective credit and may be repeated for credit, provided that the topic of the course changes.
Subject
CPS
Credits (min)
1
Credits (max)
12
Credit unit
Credits
Type
course
Repeatable
may be repeated for credit, provided that the topic of the course changes.
Algorithms, computer organization, data representation, program structure, programming techniques, numerical and non-numerical problems with emphasis on the analysis of problems and the formulation of algorithms for their solution. Numerous short programming assignments.
Selected topics courses are regularly scheduled courses that focus on a particular topic of interest. Descriptions are printed in the Schedule of Classes each semester. Selected topics courses may be used as elective credit and may be repeated for credit, provided that the topic of the course changes.
Subject
CPS
Credits (min)
1
Credits (max)
12
Credit unit
Credits
Type
course
Repeatable
may be repeated for credit, provided that the topic of the course changes.
Advanced programming and techniques for organizing and operating upon data. Lists, stacks, trees, and graphs. Sequential and linked storage allocations. Data structures in language processors. Includes supervised programming laboratory.
A continuation of Computer Science II: Techniques for operating on advanced data structures, has tables, search trees, heaps, and graphs; design, analysis, and implementation of algorithms for searching, sorting, and graph processes.
CPS 330Assembly Language and Computer Architecture4
Provides an "under the hood" examination of computer systems. Topics include number systems, machine language, assembly language, linking and loading, instruction set architecture, microarchitecture, memory systems, and high-level languages at the assembly level.
The concepts of object oriented programming -- objects and classes, messages and receivers, encapsulation and inheritance -- and the typical tools -- browsers and libraries -- are presented. A large number of programming assignments require the student to commit substantial time and effort to this course, and provide the student with a working knowledge of object oriented programming.
This is an introductory software engineering course that has a project as a major component. The emphasis is on the specification, organization, implementation, testing, and documentation of software. Programming proficiency in C as well as a background in data structures, file handling, and basic flowcharting are necessary prerequisites.
Selected topics courses are regularly scheduled courses that focus on a particular topic of interest. Descriptions are printed in the Schedule of Classes each semester. Selected topics courses may be used as elective credit and may be repeated for credit, provided that the topic of the course changes.
Subject
CPS
Credits (min)
1
Credits (max)
12
Credit unit
Credits
Type
course
Repeatable
may be repeated for credit, provided that the topic of the course changes.
CPS 415Discrete and Continuous Computer Algorithms3
A sequel to MAT320 (Discrete Mathematics for Computing). Techniques for algorithm design, including divide-and-conquer, greedy algorithms, dynamic programming, basic probability and statistics and hypothesis testing and introduced as needed, pseudorandom number generation, and matrix manipulation. Mathematica coding is used to illustrate each topic.
The theory and practice of language processing: finite state machines, context-free grammars, push-down machines, Turing machines, lexical analysis, top-down and bottom up parsing, and parser generators.
Transaction processing through stored procedures, stored procedures vs triggers, physical database design and index construction, database logical and physical security issues, SQL injections, databases, XML and the web, group project work.
Topics selected from: Advanced routing in IP networks including OSPF and BGP, network security, wireless and sensor networks, mobile ad hoc networks, peer-to-peer networks.
Engage in computer projects to solve real-world problems. The projects will utilize new technologies and will integrate previously learned knowledge and skills. Students will give oral presentations and write reports concerning their projects. Options for projects include internships, local (campus-based) projects and course-based projects.
Selected topics courses are regularly scheduled courses that focus on a particular topic of interest. Descriptions are printed in the Schedule of Classes each semester. Selected topics courses may be used as elective credit and may be repeated for credit, provided that the topic of the course changes.
Subject
CPS
Credits (min)
3
Credits (max)
12
Credit unit
Credits
Type
course
Repeatable
may be repeated for credit, provided that the topic of the course changes.
Graphics software and hardware, representation of points, lines, and surfaces in three dimensions, windowing, clipping, hidden surfaces and lines, shading. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
A study of computer systems covering both software and hardware. Topics include number systems, machine language, assembly language, linking and loading, digital electronics, microprogramming, and compute architecture. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
Essential mathematical concepts for computer science. Sets, functions, sequences and sums, relations, logic and proofs, induction and recursion, probability concepts. Linear algebra.
Use of the computer as a simulation tool, discrete and continuous simulation techniques, simulation languages, selected applications such as queuing theory, financial analysis, and simulation of computer systems. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
A critical evaluation of the design and implementation of programming languages. Topics include: history of programming languages, syntax and semantics, data and control structures, expressions, subprograms, scope and visibility, data abstraction, and exception handling. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
Mutual exclusion, Dekker's algorithm, semaphores, languages for concurrent programming, applications in operating systems. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
A comprehensive investigation of Operating Systems concepts, including the following topics: Process Management, Memory Management, File Management, Input/Output, and Deadlocks. Examples of these concepts will be illustrated using the Unix operating system. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 r May not be repeated for credit
Efficient parallel algorithms on arrays, trees, hypercubes, and PRAMS for a variety of problems. Structural properties of various network architectures and their relationships. Attributes: • Liberal Arts Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
Some fundamental topics in computer science are in areas of logic, computation, algorithms, data structures and automation. This course will cover selected topics in each of these areas.
Phrase-structure languages, automata and their languages, applications of formal languages to pattern recognition. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
How to build systems that learn and adapt using examples from real-world applications. Main topics include linear discriminants, principal components, decision trees, support vector machines, unsupervised learning and neural networks.
The study of modern operating systems. Process, memory, device, and file management; virtual machines, distributed systems, security, reliability, performance analysis. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
Program development tools, structured design and programming methodologies, software testing and validation, managing software development. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
The course covers object-oriented programming in Java using basic data structures, including arrays, linked lists, stacks and queues, binary trees, and binary search trees.
The concepts of object oriented programming -- encapsulation, aggregation, inheritance, constructors, destructors, polymorphism, and templates. Various choices for design and implementation. Writing programs is typically a major component of this course. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
Introduction to web development and database design using the Software Development Lifecycle. Designing and programming a normalized relational database and full stack web application. JavaScript, Node.js, Express.js, MySQL and other modern technologies used.
Introduction to creating and maintaining full-stack web applications utilizing various frameworks and libraries. Students will learn how to create, manage and access non-relational databases.
Recovery, integrity, concurrency, data models, extended relational model, distributed databases, database machines. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
Transposition ciphers, substitution ciphers, algebraic systems, block ciphers, public key systems, data encryption standard. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
Compiler design and implementation using top-down and bottom-up parsing. Scanner and parser generators. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
An overview of the evolving field of compiler optimizations. Internal program representations, local and global optimizations, control flow analysis, data flow frameworks, static single assignment form, control dependence analysis, automatic parallelization, interprocedural analysis pointer alias analysis, loop transformations. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
Systems programming in assembly and/or high-level language. Students will write several systems programs, such as a RAM disk and a virus detection program. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
Study of current trends in computer architecture with topics selected by instructor. Among these may be parallel processing, capability-based systems and microprocessor architecture. Restrictions: • Must have the following level: Graduate Prerequisites: • Computer Science MS Prelim Minimum Score of 1 May not be repeated for credit
The functional language mode, lambda calculus, functional programming in one or more languages, the design and implementation of an interpreter for a functional programming language.
Selected topics courses are regularly scheduled courses that focus on a particular topic of interest. Descriptions are printed in the Schedule of Classes each semester. Selected topics courses may be used as elective credit and may be repeated for credit, provided that the topic of the course changes.
Subject
CPS
Credits (min)
3
Credits (max)
12
Credit unit
Credits
Type
course
Repeatable
may be repeated for credit, provided that the topic of the course changes.
Restrictions: Must have the following level: Graduate Must be enrolled in the following field(s) of study (major, minor or concentration): Computer Science (270)
Selected topics courses are regularly scheduled courses that focus on a particular topic of interest. Descriptions are printed in the Schedule of Classes each semester. Selected topics courses may be used as elective credit and may be repeated for credit, provided that the topic of the course changes.
Subject
CPS
Credits (min)
3
Credits (max)
12
Credit unit
Credits
Type
course
Repeatable
may be repeated for credit, provided that the topic of the course changes.