Computer Science - CSC
CSC 108 Introduction to Web Computing 3 Credits
Introduction to computer science through web pages, web page programming, focusing on HTML, CSS, JavaScript and other web technologies. 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.
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.
CSC 111L Introduction to Programming Laboratory 1 Credit
Required lab for CSC 111.
Corequisite: CSC 111.
Offered: every fall.
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.
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 fall & spring.
CSC 180 Capture the Flag & Cybersecurity 1.5 Credits
CTF stands for Capture The Flag. It’s a competition where contestants solve challenges related to cybersecurity. These challenges can range from basic programming exercises to more complex tasks like hacking into servers to retrieve hidden data. The ultimate goal is to find a specific piece of text called the flag. Students will participate in weekly meetings and at least two CTF events in the semester.
Prerequisite: CSC 111.
Offered: every fall & 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: occasionally.
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.
Offered: every fall.
CSC 310 Information Organization and Processing 3 Credits
Databases, SQL language, concepts of normalization and database design. Rudimentary discussion of data ethics and security. MySQL or SQLite 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.
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: every fall.
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 classic OS topics (scheduling, memory management, resource allocation and security) along with newer concepts including cloud computing and virtual machines. Taking CSC 253/L before this course is highly advised.
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: fall of even-numbered years.
CSC 330L Operating System Design and Distributed Computing Laboratory 1 Credit
Required lab for CSC 330. Students will write parallel programs using appropriate programming languages and techniques.
Prerequisite: 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. Various languages are used including logical, functional, hybrid and specialized languages
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, MAT 111 and minimum grade of C in either CSC 112 & CSC 112L or CSC 213 & CSC 213L. Corequisite: CSC 360L.
Offered: occasionally.
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 modern fullstack frameworks, possibly using React, VUE, Svelte, SolidJS or some other. Client/server architecture and programming.
Prerequisite: minimum grade of C in CSC 112 & CSC 112L or permission of instructor. Corequisite: CSC 380L.
Offered: fall of odd-numbered years.
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: fall of odd-numbered years.
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.