Computer Science - CSC

CSC 108 Introduction to Web Computing 3 Credits

Introduction to computer science through web sites, web pages, web page programming, HTML, XML, CSS and JavaScript. The history and social impact of computers, networks and the World Wide Web are included in the course.

Fulfills College Core: Ethics, Field 7 (Mathematical Sciences)

Offered: fall & spring.

CSC 111 Introduction to Programming 3 Credits

Algorithms, programming, computers, and applications to problem solving in Python.

Corequisite: CSC 111L.

Fulfills College Core: Field 7 (Mathematical Sciences)

Offered: every fall, spring, & summer.

CSC 111L Introduction to Programming Laboratory 1 Credit

Required lab for CSC 111.

Corequisite: CSC 111.

Offered: every fall, spring, & summer.

CSC 112 Data Structures 3 Credits

Introduction to object-oriented programming, recursion, and data structures, including lists, stacks, queues, trees and maps. Rudimentary discussion of analysis of algorithms. Python language is used.

Prerequisite: minimum grade of C in CSC 111 & CSC 111L. Corequisite: CSC 112L.

Offered: every fall, spring, & summer.

CSC 112L Data Structures Laboratory 1 Credit

Required lab for CSC 112.

Prerequisite: minimum grade of C in CSC 111 & CSC 111L. Corequisite: CSC 112.

Offered: every spring.

CSC 200 Computational Thinking on the Internet 3 Credits

This course provides an in-depth dive into the Internet, as a user, creator, and member of a society impacted by its development and day to day use. Students will learn the history of the Internet along with common technologies, uses, and the societal issues posed by the constantly developing landscape of Internet customs, expectations, and laws. Students will also learn basic concepts of web development and deploy their own webpage. In addition, students will learn about cyberethics through classroom discussions and engage with case studies related to modern day cases in cyberethics. The course will wrap up with learning about networking principles and the underlying architecture of the internet.

Fulfills College Core: Ethics, Field 7 (Mathematical Sciences)

Offered: every fall & spring.

CSC 213 Large Scale Programming 3 Credits

Introduction to the design, implementation, and testing of larger software systems. Intensive instruction in Java including graphics and object-oriented design.

Prerequisite: minimum grade of C in CSC 112 & CSC 112L. Corequisite: CSC 213L.

Offered: every spring.

CSC 213L Large Scale Programming Laboratory 1 Credit

Required lab for CSC 213.

Prerequisite: minimum grade of C in CSC 112 & CSC 112L. Corequisite: CSC 213.

Offered: every spring.

CSC 253 Computer Hardware 3 Credits

Introduction to computer hardware and organization, focusing on digital logic components and Boolean algebra. Rudimentary presentation of computer networking. Assembler programming is used.

Prerequisite: minimum grade of C in CSC 112 & CSC 112L, can be taken concurrently. Corequisite: CSC 253L.

Offered: every fall.

CSC 253L Computer Hardware Laboratory 1 Credit

Required lab for CSC 253.

Corequisite: CSC 253.

Offered: every fall.

CSC 281 Automata and Algorithms 3 Credits

Formal language theory including finite and pushdown automata, grammars, Turing Machines and the Halting Problem. Provides an introduction to the design and analysis of algorithms, including classes of problems and methods for analysis.

Prerequisite: minimum grade of C in CSC 112 & CSC 112L. Corequisite: CSC 281L.

Offered: every fall.

CSC 310 Information Organization and Processing 3 Credits

Databases, SQL, and NOSQL systems, along with concepts of normalization and database design. Rudimentary discussion of data ethics and security. MySQL and MongoDB used.

Prerequisite: minimum grade of C in CSC 112 & CSC 112L or a minimum grade of C in CSC 213 & CSC 213L. Corequisite: CSC 310L.

Offered: every fall & spring.

CSC 310L Information Organization and Processing Laboratory 1 Credit

Required lab for CSC 310.

Prerequisite: minimum grade of C in CSC 112 and CSC 112L or minimum grade of C in CSC 213 & CSC 213L. Corequisite: CSC 310.

Offered: occasionally.

CSC 320 The Social Impact of Computing 3 Credits

Examines the societal issues involved in computing such as accessibility, ethical issues, privacy, censorship, social media, and professional responsibilities. Includes applications of information literacy techniques to the major.

Prerequisite: minimum grade of C in CSC 112 & CSC 112L or a minimum grade of C in CSC 213 & CSC 213L.

Fulfills College Core: Advanced Writing-Intensive, Ethics

Offered: once a year.

CSC 330 Operating System Design and Distributed Computing 3 Credits

The design of operating system software, including processor scheduling, memory management, storage and resource allocation, and security issues. Taking CSC 253/L before this course is preferred.

Prerequisite: Either minimum grade of C in CSC 112 & CSC 112L or minimum grade of C in CSC 213 & CSC 213L. Corequisite: CSC 330L.

Offered: every fall.

CSC 330L Operating System Design and Distributed Computing Laboratory 1 Credit

Required lab for CSC 330. Students will write parallel programs using MPI and a High Performance Computing Cluster.

Prerequisite: CSC 281L and CSC 112/L (min grade of C) or CSC 213/213L (minimum grade of C). Corequisite: CSC 330.

Offered: every fall.

CSC 351 Comparative Programming Languages 3 Credits

A study of programming languages and their implementations. Programming in logical and functional programming languages is included.

Prerequisite: minimum grade of C in CSC 112 & CSC 112L or minimum grade of C in CSC 213 & CSC 213L. Corequisite: CSC 351L.

Offered: spring of odd-numbered years.

CSC 351L Comparative Programming Languages Laboratory 1 Credit

Required lab for CSC 351.

Prerequisites: minimum grade of C in CSC 112 and 112L or minimum grade of C in CSC 213 & CSC 213L. Corequisite: CSC 351.

Offered: spring of odd-numbered years.

CSC 360 Intelligent Systems 3 Credits

An introduction to intelligent systems including logic and rule-based systems, machine learning, and applications of AI.

Prerequisite: completion of MAT 191 or MAT 230 and minimum grade of C in either CSC 112 & CSC 112L or CSC 213 & CSC 213L. Corequisite: CSC 360L.

Offered: fall of odd-numbered years.

CSC 360L Intelligent Systems Laboratory 1 Credit

Required lab for CSC 360.

Prerequisite: completion of MAT 191 or MAT 230 and minimum grade of C in either CSC 112 and 112L or in CSC 213 & CSC 213L. Corequisite: CSC 360.

Offered: fall of odd-numbered years.

CSC 371 Cybersecurity Principles 3 Credits

This course examines the landscape and the broad areas of cybersecurity which includes topics such as: Symmetric & Public-Key Encryption, Access Control, Database Security, Malware, DoS (Denial-of-Service) Attacks, Intrusion Detection & Firewalls, Software Security, Security Management & Policies, Internet Security, and Legal & Ethical Aspects of Cybercrime. Students will also complete hands-on labs and exercises to reinforce their working knowledge of computer, network and information security topics.

Prerequisite: CSC 310 and CSC 310L; may be taken concurrently. Corequisite: CSC 371L.

Offered: every fall & spring.

CSC 371L Cybersecurity Principles Lab 1 Credit

Required lab for CSC 371.

Prerequisite: CSC 310 and CSC 310L; may be taken concurrently. Corequisite: CSC 371.

Offered: every fall & spring.

CSC 380 Web Development I 3 Credits

Web design using HTML, CSS and JavaScript language and frameworks, including React, VUE and Svelte. Client/server architecture and programming. Includes a rudimentary presentation of social impact, ethics and security.

Prerequisite: minimum grade of C in CSC 112 & CSC 112L or permission of instructor. Corequisite: CSC 380L.

Offered: every fall.

CSC 380L Web Development I Laboratory 1 Credit

Required lab for CSC 380.

Prerequisite: minimum grade of C in CSC 112 and 112L. Corequisite: CSC 380.

Offered: every fall.

CSC 381 Web Development II 3 Credits

Advanced web design and programming, focusing on new features of HTML5, CSS3 and JavaScript. Largely a project based course with emphasis on a JavaScript framework (either React, VUE or Svelte.)

Prerequisite: CSC 380 & CSC 380L or permission of instructor. Corequisite: CSC 381L.

Offered: spring of even-numbered years.

CSC 381L Web Development II Laboratory 1 Credit

Required lab for CSC 381.

Prerequisite: CSC 380 and CSC 380L. Corequisite: CSC 381.

Offered: spring of even-numbered years.

CSC 395 Software Engineering 3 Credits

An examination of a variety of techniques and concepts that have been created to improve the software production process. Includes discussions of software processes, Agile software development, requirements engineering, testing, and software evolution.

Prerequisite: minimum grade of C in CSC 213 & CSC 213L. Corequisite: CSC 395L.

Offered: fall of even-numbered years.

CSC 395L Software Engineering Lab 1 Credit

Required lab for CSC 395.

Prerequisite: minimum grade of C in CSC 213 and 213LCorequisite: CSC 395.

Offered: fall of even-numbered years.

CSC 480 Research Experience 0 Credits

Research project done in conjunction with a faculty advisor.

Offered: occasionally.

CSC 481 Research Experience 1 Credit

Research project done in conjunction with a faculty advisor for credit.

Offered: occasionally.

CSC 497 Internship 1-3 Credits

Special projects for local institutions/businesses. Must be related to a specific focused task and involve a significant learning component. Internships require an application and approval by the associate dean. Credit is not given simply for a part-time job. Approved project proposal and results documentation required. Does not count as a CSC elective.

Prerequisite: permission of program director & associate dean.

Offered: occasionally.

CSC 498 Independent Project 3 Credits

A directed project course that includes research, design, and implementation of a software system.

Prerequisite: permission of instructor.

Offered: occasionally.

CSC 499 Independent Study 1-4 Credits

An in-depth study of a specific computing topic. Independent studies require an application and approval by associate dean.

Prerequisite: junior or senior standing; & permission of instructor, program director, & associate dean.

Offered: occasionally.