Phone: (845) 257-3990
Location: Science Hall 253
Web address: www.newpaltz.edu/compsci

The Department of Computer Science offers undergraduate programs that lead to Bachelor of Arts (BA) and Bachelor of Science (BS) degrees. (A Master of Science degree is also available and described in detail in the Graduate Catalog.) At New Paltz, Computer Science majors learn all of the fundamentals needed to be a future self-learner. With small class sizes, personal attention from renowned scholars, and collaborations with industry, every computer science student has the opportunity to work with current technology in an environment where project work and skills development are emphasized. The major prepares students for graduate study or high-level professional employment in the computer and information technology industries. The Department also offers a minor in Computer Science that gives students the background to use the computer in other disciplines.

Supplementing the computer and information technology resources available throughout campus, the Department of Computer Science maintains several specialized computer laboratories. Computer science students use these resources and gain experience working with current hardware, operating systems, and programming languages.

A minimum grade of C- is required for any course to satisfy Computer Science major and minor requirements. Courses graded pass/fail may not be used to satisfy major or minor requirements.

Please note that some Computer Science courses have a prerequisite Math Placement Level (MPL). Consult Mathematics for information concerning MPLs.

Computer Science (BA, BS) Program Learning Outcomes

Students who successfully complete a Computer Science degree will be able to:

  • Demonstrate skill in programming in several high-level languages, assembly language, machine language, and microcode.
  • Learn new programming languages without formal instruction.
  • Design and analyze algorithms.

  • Design a new programming language andwrite a compiler or interpreter for it.

  • Apply object-oriented programming and software engineering principles.

  • Design and implement digital circuits.

  • Understand the structure and operation of a modern operating system.

  • Understandtheoretical computer science concepts, such as the Turing machines and automata and computability theory.

  • Understand the fundamentals of at least one of these laboratory sciences: physics, chemistry, biology, or geology.

  • Understand continuous and discrete mathematical structures relevant to computing.

CPS100. Computers and Applications. 3 Credits.

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.

Attributes:

  • Liberal Arts

Prerequisites:

  • Math Placement Level Minimum Score of 3 or MAT 151 Minimum Grade of C- or MAT093 Minimum Grade of C-
May not be repeated for credit

CPS104. Visual Programming. 3 Credits.

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.

Attributes:

  • Liberal Arts

Prerequisites:

  • Math Placement Level Minimum Score of 3 or MAT 151 Minimum Grade of C- or MAT120 Minimum Grade of C- or MAT093 Minimum Grade of C- or MAT121 Minimum Grade of C-
May not be repeated for credit

CPS110. Web Page Design. 3 Credits.

A first course in the techniques and software used to design web pages, including html, xhtml, java script, dhtml and xml.

Attributes:

  • Liberal Arts

Restrictions:

  • Must have the following level: Undergraduate
May not be repeated for credit

CPS193. Computer Science Selected Topic. 1-12 Credits.

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.

May be repeated for credit

CPS210. Computer Science I: Foundations. 4 Credits.

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.

Attributes:

  • Critical Thinking Introductory
  • Information Mgmt Intro
  • Liberal Arts

Prerequisites:

  • Math Placement Level Minimum Score of 4 or MAT152 Minimum Grade of C-
May not be repeated for credit

CPS293. Computer Science Selected Topic. 1-12 Credits.

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.

May be repeated for credit

CPS295. Indep Study Comp Science. 1-6 Credits.

May be repeated for credit

CPS296. Departmental Elective. 0 Credits.

May be repeated for credit

CPS299. Modular Course. 0 Credits.

May not be repeated for credit

CPS310. Computer Science II: Data Structures. 4 Credits.

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.

Attributes:

  • Liberal Arts

Restrictions:

  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS315. Computer Science III. 4 Credits.

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.

Attributes:

  • Liberal Arts

Restrictions:

  • Must have the following level: Undergraduate
  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS330. Assembly Language and Computer Architecture. 4 Credits.

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.

Attributes:

  • Liberal Arts

Restrictions:

  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS340. Operating Systems. 4 Credits.

The design and implementation of single and multi-user operating systems. Memory management, process management, device management.

Attributes:

  • Liberal Arts

Restrictions:

  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS341. Operating Systems II. 3 Credits.

Design and implementation of major components of a modern operating system.

Attributes:

  • Liberal Arts

Prerequisites:

May not be repeated for credit

CPS342. Embedded Linux. 3 Credits.

Students learn the principles and practices of the Linux operating system in the embedded environment.

Restrictions:

  • Must have the following level: Undergraduate
  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS352. Object Oriented Programming. 3 Credits.

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.

Attributes:

  • Critical Thinking Intermediate
  • Information Mgmt Intrmd
  • Liberal Arts

Restrictions:

  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS353. Software Engineering. 3 Credits.

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.

Attributes:

  • Liberal Arts

Restrictions:

  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS393. Computer Science Selected Topic. 1-12 Credits.

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.

Restrictions:

  • Must not be enrolled in the following class: Freshman
May be repeated for credit

CPS396. Departmental Elective. 0 Credits.

Restrictions:

  • Must not be enrolled in the following class: Freshman
May be repeated for credit

CPS399. Modular Course. 0 Credits.

Restrictions:

  • Must not be enrolled in the following class: Freshman
May not be repeated for credit

CPS415. Discrete and Continuous Computer Algorithms. 3 Credits.

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.

Attributes:

  • Liberal Arts

Restrictions:

  • Must have the following level: Undergraduate
  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS425. Language Processing. 4 Credits.

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.

Attributes:

  • Liberal Arts

Restrictions:

  • Must have the following level: Undergraduate
  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS440. Database Principles. 3 Credits.

Study of the logical and physical organization of large databases; database system programming.

Attributes:

  • Liberal Arts

Restrictions:

  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS441. Database Projects. 4 Credits.

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.

Attributes:

  • Liberal Arts

Restrictions:

  • Must have the following level: Undergraduate
  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS460. Computer Architecture. 3 Credits.

Data representation, memory organization, input/output processing, stack computers, parallel computers, pipeline architecture, microprogramming.

Attributes:

  • Liberal Arts

Restrictions:

  • Must not be enrolled in the following class: Freshman

Prerequisites:

  • CPS 325 Minimum Grade of C-
  • EGE 230 Minimum Grade of C-
May not be repeated for credit

CPS470. Computer Communication Networks. 3 Credits.

Network architecture, data flow control, transmission control, path control, recovery, routing techniques.

Attributes:

  • Liberal Arts

Restrictions:

  • Must not be enrolled in the following class: Freshman
May not be repeated for credit

CPS471. Computer Communication Networks II. 4 Credits.

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.

Attributes:

  • Liberal Arts

Restrictions:

  • Must have the following level: Undergraduate
  • Must not be enrolled in the following class: Freshman

Prerequisites:

May not be repeated for credit

CPS485. Projects. 4 Credits.

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.

Attributes:

  • Creative Works
  • Critical Thinking Advanced
  • Information Mgmt Advanced
  • Liberal Arts

Restrictions:

  • Must have the following level: Undergraduate
  • Must be enrolled in one of the following classes: Senior, Junior

Prerequisites:

May be repeated for credit

CPS493. Computer Science Selected Topic. 3-12 Credits.

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.

Restrictions:

  • Must not be enrolled in the following class: Freshman
May be repeated for credit

CPS494. Fieldwork Comp Science. 1-12 Credits.

Restrictions:

  • Must not be enrolled in the following class: Freshman
May be repeated for credit

CPS495. Indep Study Comp Science. 1-12 Credits.

Restrictions:

  • Must not be enrolled in the following class: Freshman
May be repeated for credit

Faculty

Chen, Min
Associate Professor
Ph.D., North Dakota State University
Office: SH 250
Phone: (845) 257-3547
E-mail: chenm@newpaltz.edu

Curry, Mike
Lecturer
Office: SH 245
Phone: (845) 257-3529
E-mail: currym6@newpaltz.edu

Easwaran, Chirakkal
Professor and Chair
Ph.D., University of Calgary
Office: SH 255
Phone: (845) 257-3514
E-mail: easwaran@newpaltz.edu

Hoffman, Kaitlin
Lecturer
M.S., SUNY New Paltz
Office: SH 243
Phone: (845) 257-3533
E-mail: hoffmank4@newpaltz.edu

Li, Keqin
Distinguished Professor
Ph.D., University of Houston
Office: SH 249
Phone: (845) 257-3534
E-mail: lik@newpaltz.edu

Pham, Hanh
Associate Professor
Ph.D., Ikraine
Office: SH 248
Phone: (845) 257-3574
E-mail: phamh@newpaltz.edu

Suchy, Ashley
Assistant Professor
State University of New York at Albany
Office: SH 247
Phone:
E-mail: suchya1@newpaltz.edu