Computer Science (CS)
CS 2010 Computing Fundamentals (3)
To explore some topical applications and technologies such as robotics, artificial intelligence and networking, first examines some of the fundamental aspects of computing including: how a computing machine stores, manipulates and transforms numbers, words, images and sounds, changing them from mere data into useful information; strategies for solving computational problems (algorithmic thinking); expressing computational solutions in various computer languages from assembly through icon-driven graphical languages (4GLs); historical, social and theoretical issues. Includes a weekly hands-on lab through which students experience a variety of computing environments. Two hours of lecture and 2 hours of lab each week. Falls and Springs. (TECO)
Prerequisite(s): regular admission to Plymouth State University.
CS 2015 Introduction to Digital Forensics (4)
An introduction to digital forensics covering evidence collection, preservation, and analysis across computers, mobile, networks, and cloud. Topics include forensic imaging, file systems, OS and disk structures, network surveillance, intrusion/incident response, anti-forensics, and legal/ethical procedures. Students practice industry-standard tools, documentation, and court-ready reporting through hands-on labs and demonstrations aligned with accepted methods and standards. Falls.
Prerequisite(s): None
Corequisite(s): None
CS 2225 Digital Logic Systems (3)
Teaches design using SSI/MSI logic ICs. Students build circuits from gates, flip-flops, counters, and memory while learning sensor interfacing and digital signal conditioning. Course emphasizes system-level thinking, timing, and debugging with Boolean logic, finite state machines, and memory tied to IC datasheets. Labs use breadboarded circuits and test equipment, bridging digital logic to embedded systems and robotics. Springs.
CS 2370 Introduction to Programming (4)
A first course in computer programming, covering variables, functions, conditionals, recursion, loops, and arrays. Emphasis is placed on documentation and algorithm planning. Object-oriented programming is introduced, including methods, classes, inheritance, and polymorphism. Three lecture hours and 2 hours of computer lab. Springs and Falls.
Prerequisite(s): None
CS 2384 Intermediate Programming (3)
A second programming course that reinforces the programming constructs learned in CS 2370 and covers more advanced programming techniques. Students will use professional-grade development tools to build programs across multiple modules, including managing external dependencies. Programs written by students will explore UIs, concurrency, automated testing, programming paradigms, and design patterns, integrating AI models into conventional programs. Springs (3 credits)
CS 2470 Systems Programming in C/C++ (2)
Gives students who are already proficient programmers experience in systems-level programming in C/C++. In particular, students learn how to create C/C++ programs that interact with the hardware and other software on a machine. Springs.
Prerequisite(s): CS 2370.
CS 2521 Introduction to Electromechanical Technology (3)
Introduction to basic concepts of electrical circuits, electronics, and mechanical technology, broad vision, basic structure, and applications of robots as systems with sensing, decision-making, and actuation. The laboratories identify the basic components, processors, sensors, and actuators, and connect them together into a simple but functioning system with various communication ports. Two hours of lecture and 2 hours of lab. Falls.
Prerequisite(s): MA 1800 or Math Placement score of 2 or higher.
CS 2525 Sensors and Actuator Systems (4)
Course focuses on the characteristics and classification of types of sensors and actuators, and their applications. Gain tuning, feedback, frequency responce methods, MIMO systems. Aggregate positioning, PID controllers. Topics include signal processing and analysis, Communication protocols, Real-time applications, Kinematic and inverse-kinematics, pose regression. System integration and troubleshooting. Springs.
CS 2900 Digital and Analog Circuits (4)
A fundamental study of the functional and operational characteristics of electric and electronic systems. Students will learn to analyze and understand both DC and AC electrical circuits with a particular focus on DC electronics. Students will learn to design, build, troubleshoot and integrate circuit boards into existing and new systems. Springs.
Prerequisite(s): C in MA 2130 or B- in MA 1800 or B- in MA 2450,
CS 2901 Materials, Design and Fabrication (4)
Through a series of lab-based project, students work in additive and subtractive manufacturing, 3D Printing, CNC Milling/turning, and welding. Toolpath, materials, and media finishing strategies. Topics include Rapid prototypinc, Design for Manufacturing and Assembly (DFMA), CAD/CAM, EDA/CAD, Fusion, MasterCam, PathPilot. General safety, best practices, and tool use. Falls.
CS 2905 PLC Programming (4)
An experience based course in Programmable Logic Controllers. Utilizing industry-standard PLCs students will learn programming in Relay Ladder Logic, Function Block Diagram, Sequential Function Chart, and others. Hands-on work will focus on PLC systems design, integration, VFD, control concepts, and low-level troubleshooting. Course concepts include networking, fault tolerance, HMI/SCADA overview of systems and functionality. Springs.
Prerequisite(s): CS 2220 AND CS 2370
CS 3015 Mobile Application Development (3)
Provides an introduction to the design and implementation of applications for smart mobile phones and devices. Presents basics of mobile GUI programming components and application structure. Additional topics include use of patterns, pattern languages, and frameworks to alleviate the complexity of developing concurrent and networked services on mobile devices that connect to popular cloud computer platforms. Springs.
Prerequisite(s): CS 2381.
CS 3020 Web Programming (3)
Focuses on issues concerning the design, implementation and impact of user-friendly, interactive web pages and easy-to-navigate secure web sites. Covers a variety of web page and web site development technologies. Two lectures and 1 lab per week. Falls.
Prerequisite(s): CS 2370.
CS 3223 Data Structures & Algorithms (4)
Design, implementation, and analysis of fundamental data structures and algorithms. Topics include asymptotic complexity, sorting and searching, hash tables, trees, priority queues, graphs and graph algorithms, basic probabilistic analysis, and NP-completeness, with brief exposure to parallel algorithms and modern architectures. Emphasis is on rigorous reasoning about efficiency, empirical evaluation, and practical programming labs in a high-level language. Springs.
Prerequisite(s): MA2450 and CS2384
CS 3240 Data Communication and Computer Networks (3)
Provides an introduction to the study of communications. Current methods and practices covered. Topics include data transmission, communication techniques, packet switching, routing, long-haul vs. local-area networks and performance considerations. Falls.
Prerequisite(s): CS 2370.
CS 3310 Secured Web & Data System Development (4)
Covers techniques for designing and building secure, data-driven web applications using relational and NoSQL databases. Students learn ER modeling, normalization, SQL, and modern NoSQL models, along with HTML, CSS, and client-server scripting. Also emphasizes security, responsiveness, usability, accessibility, version control, and architecture, supported by weekly labs and projects that combine SQL and NoSQL into secure web solutions. Falls.
Prerequisite(s): CS 2384
CS 3420 Introduction to Cybersecurity (3)
Provides foundation for understanding key issues of protecting digital information, identifying threats, and determining protection levels, response to security incidents, examination of pre- and post-incident procedures, and designing consistent, reasonable cyber security system, with appropriate intrusion detection and reporting features. Includes technical and managerial responses and an overview of cyber security planning and staffing functions. Falls.
Prerequisite(s): CS 2010; Junior status.
CS 3510 Artificial Intelligence & Machine Learning (4)
Hands-on introduction to artificial intelligence and modern systems such as large language models, emphasizing applied machine learning. Students implement supervised and unsupervised models, simple neural networks, and text-based applications while learning data preparation, model evaluation, and error analysis. The course also examines fairness, bias, and broader societal impacts of AI through practical projects using real-world datasets. Falls.
Prerequisite(s): CS 2384
CS 3600 Database Management Systems & Security (4)
Covers the principles and practice of relational database design and analysis, including topics of entity-relationship modeling, functional dependencies, normalization, relational algebra and relational calculus, as well as their SQL correspondents. Other related issues are discussed such as other data base models, object-oriented database scheme, concurrent data access, recovery and security. One or more projects form a significant part of this course. Falls.
Prerequisite(s): CS 2370 And (MA 2210 or MA 2450 or MA 2700).
CS 3650 Big Data Administration and Analysis (3)
Provides students with an understanding of Big Data analytics cluster computer framework. Students gain knowledge on managing Big Data from various data sources including public and private data sets including business. Students gain a hands-on experience on various cloud-based Big Data framework and NoSQL databases including Hadoop and Spark for real-time stream processing tools for IoT (Internet of Things) devices. Falls.
Prerequisite(s): CS 2370
CS 3690 Applied Robotics (4)
This course focuses on the core system components within Robotics and their integration through use of Robot Operating System (ROS), rViz, and Gazebo simulator. Individuals will design, build and program on the most recent OpenCR and SBC platforms while integrating a variety of capabilities and libraries under Plymouth State's One Robot initiative. Topics include Wayfinding, Localization, Loop-closure, Odometry, A* Pathfinding, as well as machine vision and machine learning. Falls.
CS 3720 Systems Analysis and Design (3)
The study of computerized information as a resource. The study of the systems development life cycle. Integrating computer technology, networks, systems analysis and design and organizational behavior in the building of large-scale applications or decision support systems. The use of CASE tools. The importance of service and testing of information systems. Springs.
Prerequisite(s): Junior Status
CS 3780 Introduction to Computational Theory (3)
Intended to provide a solid theoretical foundation for computer science students. A series of artificial machines such as finite state automata, push-down automata and Turing machines are be defined and studied as formal models of computers. Studies their corresponding formal languages such as regular, context-free and unrestricted languages. Discusses related issues such as Church's Thesis, Halting problem and general incompatibility. Falls.
Prerequisite(s): CS3223
CS 3800 Programming Languages (3)
Covers the design and implementation of programming languages. Topics include syntax and parsing, interpreters, compilers, formal semantics, variable scope, translation and intermediate representations, native code generation, optimization, programming paradigms, type systems, concurrency and parallelism, memory management. Students will be broadly introduced to the topics and complete programming projects to examine a few of them in depth. Springs.
CS 3820 Human-Computer Interaction (3)
Concerned with the design, evaluation and implementation of interactive computing systems for human use. It briefly surveys the most important conceptual models of human psychology applied to computer interactions, and stresses the importance of good interfaces and interface design to human-computer interaction. It treats topics such as interface quality and methods of evaluation, user-centered design and task analysis, dialogue tools and techniques, windowing, prototyping and user interface implementation, I/O devices and the use of color and sound. It trains the Computer Science student to apply the theories of HCI to the task of design by surveying the techniques available in the discipline and demonstrating where and when they are applicable via a combination of scientific-theory understanding, engineering modeling and the solution of design problems facing the user interface designer. Springs.
Prerequisite(s): CS 2370.
CS 3890 Engineering Design (3)
A course on problem definition, concept design, implementation, testing and assessment. Students will use mathematical tools and scientific principles illustrated through projects utilizing standard design models. Students work in teams to produce a component using rapid prototyping based on defined requirements and constraints. CAM software is utilized to assess structural and Designing for Manufacture (DFM) issues. Springs. Springs.
CS 3901 Industrial Robotics (4)
This course focuses on integration, operation, and programming of industrial robotics systems and our FANUC Connected Smart Manufacturing cell both manually (iHMI) and through RoboGuide software. Additionally, through this course students will have the opportunity to study and test for various professional certifications. Falls.
CS 3902 Adaptive Control Systems (4)
This course covers an overview of control systems, including definitions, types, and principles. It includes mathematical modeling techniques, linear control theory, feedback systems, PID controllers, nonlinear control strategies, digital control techniques and design methodologies. Topics include phase plane analysis and Lyapunov stability, Bode plots, and Nyquist criteria. Project-based approach emphasizes real-world applications and problem-solving. Springs.
CS 3905 Mobility, Autonomy, and Teleoperation (4)
In this course students learn current remote operation and autonomous technologies in small unmanned aerial system (sUAS), ground systems (UGV), and ROVs. Topics will include vehicle loading and motion dynamics, Geodetic concepts, Photogrammetric and LiDAR Processing, RTK, GNSS, IMU data handling. Course includes review of local laws and licensing in preparation toward an FAA Part 107 sUAS certificate. Falls.
CS 3970 Current Events, Topics and Issues in Robotics (4)
The fields of computer science, robotics and related disciplines evolve very rapidly. This course examines current issues and developments that are disrupting the status quo and have the potential to shape the future of the field and of society at large. Topics vary by semester. Repeatable twice for a maximum of 8 credits. Falls Even.
Prerequisite(s): CS 2370 AND (MA 2450 or MA 2250 OR MA 2490).
CS 4140 Software Engineering (3)
Presents fundamental principles of software engineering. Emphasizes software design, implementation and maintenance. Techniques used in the major phases of the software life cycle such as rapid prototyping, object-oriented design and module testing, are discussed. Software teams complete a term project that includes system documentation, design and implementation. Falls.
Prerequisite(s): CS2384
CS 4230 System Administration (4)
Introduces students to system administration using Linux and Windows. Student participates in installing and configuring both operating systems. Topics include the Active Directory, web services, file and print services, the file system, user management, task management, automation, backups, host services, firewalls, network management, performance analysis, security, policy and ethics, use of scripting language, various system tools, and commands. Falls.
Prerequisite(s): CS 2370 Academic level: UG
CS 4250 Computer Architecture (3)
Fundamental concepts of computer design using a quantitative, performance-oriented approach. Topics include: measurement of performance instruction sets design; hardwired and micro-coded processor design; pipelining; memory hierarchy; I/O. Assembly language programming is studied through a series of short projects. Falls.
Prerequisite(s): CS 2225
CS 4310 Operating Systems (3)
Covers the major concept areas of operating systems for both large and small computers and the interrelationship between the operating system and computer architecture. Topics include: history, tasking, process synchronization, scheduling, memory organization, device management, file systems, security issues, distributed and real-time systems. One or more projects form a significant part of this course. Springs.
Prerequisite(s): CS 2470
CS 4400 Computer Networks and Protocols (4)
Focus is on providing a data stream for higher-level services to operate over. It is primarily concerned with the transport layer and below. TCP/IP is the predominant protocol studied. Others, such as Novell NetWare, are covered to provide comparative examples. Monitoring, diagnosis and administration of the infrastructure are studied. Lecture and laboratory. Springs.
CS 4420 Computer Security (3)
Provides an introduction to the theory and practice of computer security and information warfare. In particular, examines issues in physical security, network security, database security, intrusion detection, detection of Trojan horses, viruses, worms and coordinated network attacks, access control, cryptography, legal and ethical issues including privacy and copyright, as well as various computer security policy issues. Springs.
CS 4500 Topics in Computer Science and Technology (3)
Explores specialized topics pertaining to computer science and information technology that are not covered in other Computer Science and Technology courses. Topics vary by semester and instructor. May be repeated with a different topic for no more than 6 credits. Springs.
Prerequisite(s): variable, depending on topic selection; consult course instructor.
CS 4520 CyberEthics (3)
Surveys the ethical issues involved in the use of information technology. Provides an introduction to a variety of ethical theories that can be used as guides for thinking about these issues. Emphasizes the use of case studies to practice the application of ethical frameworks to real problems facing today's society. Serves as part of the senior capstone experience. Falls. (DICO) (WRCO)
Prerequisite(s): Junior status.
CS 4760 Senior Project (3)
Available only to senior Computer Science and Information Technology majors. Working under faculty direction, students select a problem or task, analyze it and develop a solution. The problem/task selected must involve some aspect of computing. At the end of the semester, each student makes a formal, public presentation in an appropriate format determined by the faculty. In addition, students meet weekly, as a group, to discuss a variety of topics related to investigation, research and development, the process of public presentation of results, and to present the other students with an overview and regular progress reports on their own project. By individual enrollment with the Chair's signature. With permission. Pass/No Pass. Falls and Springs.
Prerequisite(s): all required 2000 and 3000 level courses.
CS 4790 Robotics Capstone (4)
Advanced topics in robotics for students, intended as a capstone project course for the Electromechnical Technology and Robotics program. Based on the knowledge and experience acquired in the previous courses, students follow a standard engineering approach to pursue an individual project that incorporates sensing, control, and actuation to solve a well-defined and realistic problem in a real situation. Instructor permission required.
Prerequisite(s): CS 3901
CS 4910 Independent Study (1-3)
Intensive individual work in a particular area of Computer Science not otherwise available through the curriculum. Topics to be chosen by the student in consultation with the instructor. Consent required of the instructor who will supervise the independent study and the Department Chair.
CS 4920 Computer Science Internship (1-6)
Students leave the campus to work in a professional situation in the computing field with or without financial compensation. The employing agency provides a carefully-planned sequence of tasks intended to provide the student with a learning experience in the field of computing. Students have supervisors both in the Computer Science and Technology Department and in the employing agency who will jointly coordinate the student’s work. Students must submit to the Department a written proposal prior to undertaking the internship and a final report upon its completion. Repeatable for a maximum of 6 credits.
Prerequisite(s): final approval of the internship will come from the Department Chair; Computer Science or Information Technology major and completion of major courses appropriate to the position (to be determined by the supervising faculty member).