Main Content

Course Descriptions

101 Digital Literacy
Computers and their applications are at the center of our everyday lives. In this course, we explore what it means to communicate effectively and engage in critical thinking and problem solving using computers as a creative tool. Students also build on their quantitative reasoning skills. Students learn how to analyze information and problem solve using Word Processing, Spreadsheet, Presentation, Database, Cloud Computing, Wiki/ Blog and GIS to visualize, organize, present, document, explain, and query information. Students also learn how to create basic web pages in order to share them with a greater audience. This course fulfills a computer science requirement for the minor in Web Design and counts as a free elective for Computer Science Majors. This course does not count towards the Computer Science Minor.

Courses open to all majors - no prerequisite.

111-112 Computing I - II
This two part sequence provides a breadth first to the field of Computer Science. Students learn the history of Computer Science as well as the basics about operating systems and computer architecture. Students learn how to think logically and how to problem solve with computers. Students are introduced to the general concepts and techniques of object oriented programming, and an emphasis is placed on generating working programs. Students also gain an understanding of the implementation of programming designs, and basic concepts of data structures. These courses include a laboratory component. Required for Computer Science Major and Computer Science Minor programs.

Prerequisites: CS112 requires CS111 or permission of the instructor.

115-116 Discrete Mathematics I - II
An introduction into the mathematical structures fundamental to various areas of computer science. Topics include combinatorics, logic, set theory, matrix algebra, graph theory, trees, Boolean algebra, recursion, and algebraic structures. Required for Computer Science Major (CS115, CS116) and Computer Science Minor programs (CS115 or equivalent).

Prerequisites: CS116 requires CS115 or permission of the instructor.

204 Computational Approach to Problem Solving
The goal of this course is to prepare students to analyze data and solve real-life business and scientific problems, using a software application such as Microsoft Excel as a tool. Students will move beyond the basic "point and click" and will be challenged to use critical thinking and analysis to find efficient and effective solutions to real-life situations, as well as build on information literacy. This course counts as a Computer Science elective for the Computer Science with Business Major and as a free elective for other Computer Science major programs. Does not count towards minor in Computer Science.

Courses open to all majors - no prerequisite.

205 Fundamentals and Issues of Using the Internet
Designed for non-majors who wish to deepen their understanding of the Internet, this course explores the fundamentals of Internet communication and the systems/applications that facilitate it. Students gain a basic understanding of the technical side of the Internet while learning how to leverage it to their advantage with subjects such as online research techniques, good privacy, latest online applications, and security practices, and an introduction to HTML and web page creation. Topics of class discussion include online ethics in an era of "free" information and safety in the face of increasing threats to information security. This course counts as a Computer Science elective for the minor in Computer Science and as a free elective for Computer Science Major programs. Required for the minor in Web Design.

Courses open to all majors - no prerequisite.

210 Introduction to Geographic Information Systems (GIS)
This course serves as an introduction to Geographic Information Systems (GIS). Students will be introduced to the fundamental principal and practices of GIS. This course will focus on spatial data development and analysis of this data. Topics covered will include basic data structures, data sources, data collection, data quality, understanding maps, building a GIS, Global Navigation Satellite Systems, digital data, attribute data and tables, and basic spatial analysis.

Courses open to all majors - no prerequisite.

213 Data Structures and Algorithms
An introduction to the fundamental concepts of data structures and the algorithms that proceed from them. Topics include the underlying philosophy of object-oriented programming, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, recursion, and graphs), and the basics of algorithmic analysis. Required for all Computer Science Major programs.

Prerequisite: CS112

220 Computer Architecture
An examination of the basic functional components found in a computer i.e., the CPU, memory systems, and I/O. Topics include CPU layout and operation, the ALU, machine instruction processing, assembly language, and alternative architectures such as parallel processing. Required for all Computer Science Major programs and Computer Science Minor.

Prerequisite: CS111 and CS115

228 Computer Forensics
With the advent of the Digital Age, cybercrime has become one of the most serious threats to our nation and to the population at large. In this course, students will be introduced to the field of computer forensics where they will learn to acquire, secure, recover, validate and analyze digital information for use in criminal and civil investigations. Instruction will include lectures, hands-on activities and student presentations.

Courses open to all majors - no prerequisite.

230 Computer Networks
An introduction to the structure, implementation, and theoretical underpinnings of computer networking and the applications enabled by that technology. Topics include the layers of the OSI and TCP/IP stacks, common communication protocols, network architecture, internet applications, and network security.

Prerequisite: CS112 or permission of the instructor

250 Human-Computer Interaction
This course is a survey of the field of Human-Computer Interaction (HCI). It focuses on design strategies for making software usable by real-world people for doing real-world work. The topics studied will include: the role of HCI in the software product life cycle, task analysis of the user's work, architectures for human-computer dialogues, new and traditional approaches to user interface design, user interface standards, human- computer interface evaluation, computer-supported cooperative work, usability issues, and ethical issues. Classes will include both lectures and hands-on lab work. Fulfills a computer science requirement for the minor in Web Design.

Courses open to all majors - No prerequisite

255 Computer Graphics
This course provides an introduction to the computational concepts that generate graphics and animations with a computing system. Students learn about the hardware, software, computer languages, and mathematical tools used in the construction of graphic images on a computer screen. Selected topics include graphics data structures and modeling, 2-D and 3-D mathematical tools for modeling and viewing graphic components, hidden line and hidden surface removal, and generating 3-D models for use on the Internet. Fulfills a computer science requirement for the minor in Web Design.

Prerequisite: CS111 or permission of the instructor

270 Database Management
An introduction to techniques for handling a large database, the physical organization of data, indexed files, sequential addressing, random access, concurrent operation, data inquiries, and query optimization, implementation of data structures and the time-space trade-off, database protection with file security.

Prerequisite: CS101 or CS111 or permission of the instructor

290 Systems and Software Development
An introduction to processes and design techniques involved in typical software development problems, and the systems development lifecycle. Topics include basic analysis and design methodologies and tools, generating requirements and specifications, and carrying out system implementation.

Prerequisites: CS112 or permission of the instructor

310 Advanced Algorithmic Analysis
An examination of the formal techniques and underlying mathematical theory behind efficient programming. Topics include asymptotic analysis of complexity bounds for both recursive and iterative algorithms, advanced tree and graph algorithms, fundamental algorithmic strategies (brute-force, greedy, divide-and-conquer, backtracking, branch-and-bound, pattern matching, and numerical approximations), and the implications of non- computability. Recommended for students considering graduate school.

Prerequisite: CS213

311 Theory of Computation
A comparison of abstract machines and their physical counterparts, finite state machines, neural networks, regular expressions, Turing machines, the concept of computability and the relationship to machines, digital computers and universal machines. Mathematical proofs are an integral part of the course. Recommended for students considering graduate school.

Prerequisite: CS213 or permission of the instructor

325 Operating Systems
An operating system is a manager of computer resources, including the memory, the processor, the I/O devices, and the information. Topics considered include partitioned memory, paged memory, segmented memory, processor scheduling, traffic controllers, devices and virtual devices, interrupt handling and resource protection. Recommended for students considering graduate school. Students may take Computer Architecture concurrently with this course.

Prerequisite: CS220 or permission of the instructor

338 Internet and Web-Based Systems
The course provides an in-depth knowledge and understanding of how the Internet and the World Wide Web (www) operate, client-server architecture, and the technical knowledge required to establish and maintain an Internet/Web site. Further, we look at the various (technical and non-technical) directions the Internet/Web is taking, and its increasing influence on our day-to-day lives. Students will be given a series of projects that apply the overviews into practice.

Prerequisite: CS213 or permission of the instructor.

343 Programming Paradigms
A study of the features of programming languages: syntax, semantics, control structures, study of types, subprograms, parameters and passing mechanisms, design issues for languages, and an introduction to classification of languages e.g., functional, procedural, object-oriented, etc. Recommended for students considering graduate school.

Prerequisite: CS213

360 Artificial Intelligence
An introductory overview of the technical, practical and philosophical issues involved in the machine simulation of intelligent behavior. Among the technical issues to be covered are analogy recognition and simple concept learning, exploiting natural constraints and exploring alternatives, controlling attention and interpreting language, knowledge representation and knowledge engineering, symbolic pattern matching, and logic and theorem proving.

Prerequisite: CS112 or permission of the instructor

400 Independent Study

450 Selected Topics in Computer Science
Topics are selected from areas of interest to the current faculty.

Prerequisite: Permission of the instructor

455 Research and Seminar I
The student conducts library research and plans a research project under the direction of a faculty advisor. The student presents periodic oral reports to the class and faculty. In addition, faculty members and outside guest speakers present lectures on topics not covered in other courses. This course carries no credit, but is a prerequisite for CS452.

Prerequisite: Permission of the department chairperson.

456 Research and Seminar II
The student conducts research under the direction of a faculty advisor. The student presents periodic oral reports to the class and faculty, writes a thesis describing his/her research, and may be required to present the results in poster presentations. In addition, faculty members and outside guest speakers present lectures on topics not covered in other courses.

Prerequisite: Research and Seminar I

481 Internship (one course)
Students are placed in a field experience situation with corporations in the Greater Manchester area. Students earn a letter grade.

Prerequisite: Permission of both the coordinator and the chair of the Computer Science Department

482-483 Internship (two courses)
Students are placed in a field experience situation with corporations in the Greater Manchester area. CS482 and CS483 can only be taken concurrently. CS482 is graded on a pass/fail basis. Students earn a letter grade for CS483.

Prerequisite: Permission of both the coordinator and the chair of the Computer Science Department