Computer Science

Courses

CSC 105: INTERNET HISTORY, SECURITY & TECH

Credits 3
To thrive in today’s digital world, you need to understand the system that powers it. This course, built in collaboration with Google, will explore the internet and show you how it works. This class focuses on hands-on learning of important topics like cybersecurity, networking, and programming. By the end, you’ll be able to evaluate your options for a rewarding career in technology. At minimum, you’ll be a much wiser network citizen. Prerequisite: none

CSC 110: PROGRAMMING FOR EVERYONE I

Credits 3
This course, built in collaboration with Google, provides a gentle, but thorough, introduction to programming using Python. You will learn the core concepts and techniques needed to create programs and perform basic data analysis. By the end of this course, you’ll be ready to pursue further study in computer science and unlock more advanced programming courses. Prerequisite: none

CSC 115: PROGRAMMING FOR EVERYONE II

Credits 3
This course, built in collaboration with Google, follows on from Programming for Everyone I. In the first half of the course, you will learn how to leverage your Python skills to treat the internet as a source of data. The second half of the course will teach you the fundamentals of Structured Query Language (SQL) and database design. By the end of the course, you will improve your programming skills and learn how to build a range of applications. Prerequisite: CSC 110 or MAT 215

CSC 205: WEB DEVELOPMENT

Credits 3
This course, built in collaboration with Google, covers everything you need to know in order to build a website from scratch. You'll learn HTML, CSS and Javascript - the core technologies which power modern websites - and build a website of your own. By the end of this course, you'll be able to create interactive, aesthetically pleasing websites for any purpose you can imagine. Prerequisite: Any programming course, or grade of B in MAT 221 or higher

CSC 210: APPLICATION DEVELOPMENT I

Credits 3
Modern development relies on frameworks which provide developers with powerful tools to speed up development. If you want to build apps, you need to understand how to use frameworks. This course, which has been built in collaboration with Google, will introduce you to Django - a framework used for data-driven web applications. You’ll learn the fundamentals of Django, improve your database management skills, and begin developing your own apps. Prerequisite: CSC 115, MAT 231

CSC 305: INTRODUCTION TO C

Credits 3
In order to become a successful developer, you need to understand how computers interpret code. This course, which was built in collaboration with Google, will introduce you to C - the fundamental language used to write many high-level languages, including Python. By the end of this course, you will have a better understanding of how computers turn your code into ones and zeroes, and be able to use that understanding to build more efficient programs. Prerequisite: CSC 115, MAT 231

CSC 405: DATA STRUCTURES

Credits 3
This course, built in collaboration with Google, will teach you how to understand and use data structures. Data structures are used by almost every program and application to store, access and modify the vast quantities of data that are needed by modern software. By the end of this course you'll learn what data structures are and learn how to use them in the applications you build. Prerequisite: CSC 115

CSS 101: PROGRAMMING FOR EVERYONE l

Credits 4
This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in Python. We will explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform data analysis. The course has no prerequisites and avoids all but the simplest mathematics. This course will introduce the core syntax, commands, and data structures of the Python programming language. Once a student completes this course, they will be ready to take more advanced programming courses.

CSS 111: PROGRAMMING FOR EVERYONE ll

Credits 3
This course teaches students about the fundamentals of data access and management. In the first half of the course, students will learn how to leverage their Python skills to treat the internet as a source of data. Students will work with HTML, XML, and JSON data formats in Python. The second half of the course introduces students to the fundamentals of Structured Query Language (SQL) as well as database design as part of a multi-step data gathering, analysis, and processing effort. As part of the course, students will build web crawlers and multi-step data gathering and visualization processes. Prerequisites: CSS 101 or MAT 215, MAT 103, MIT 225.

CSS 201: WEB DEVELOPMENT

Credits 3
Web Development introduces students to HTML, CSS, and Javascript - the core technologies which power modern websites. Students will learn how to create interactive, aesthetically pleasing websites for a variety of purposes. This course culminates in a project which will have students build a website for a real or imaginary product of their choosing. Students concurrently enrolled in Application Development II are encouraged to build a website that corresponds with their project in that course. Prerequisites: CSS 111, MAT 231

CSS 202: APP DEVELOPMENT l-EXPLORING WEB APP

Credits 3
This is the first course in the Application Development series. Application Development I introduces students to Django - a Python-based framework used in the creation of complex, data driven websites. Students will learn the features and particularities of Django, as well as the basics of web applications including HTML, the Request-Response structure, and the internal structure of servers. Students will also review the basics of database management, and dive deeper into a variety of data structures and modules. This course is intended to prepare students for Application Development II, in which they will build their own Web Applications. Prerequisites: CSS 111, MAT 231

CSS 222: APP DEVELOPMENT ll-BUILDING WEB APP

Credits 3
This course is a continuation of the Application Development series and is divided into two parts. In the first part of the course, students work individually to build a web application to post classified ads. In the second part of this course, students will work in groups to plan and build their own unique web applications. This course heavily emphasizes project-based learning. Prerequisites: CSS 202.

CSS 302: INTR TO C-HOW COMPUTERS REALLY WORK

Credits 3
This course is intended to introduce students to C - the programming language used to develop numerous other high-level programming languages such as C++ and C#. This class introduces students to the techniques used to program in C and the necessary concepts required to understand how higher-level programming languages are developed. The concepts introduced here will help students develop an inherent understanding of how computers turn high-level code in ones and zeros and help students build more efficient programs. Prerequisites: CSS 222, MAT 321.

CSS 402: HARDWARE I-INSIDE A MICROPROCESSOR

Credits 3
This course is intended as an introduction to computer hardware and builds upon Introduction to C. It covers the techniques used to design and build microprocessors, memory, and other elements of modern-day hardware. Students will learn the fundamentals of machine language (binary) and assembly language, and understand what happens inside of a computer on a fundamental level. Students will also have the opportunity to analyze the C compiler and learn how it produces the necessary strings of ones and zeros that will run on the hardware. Prerequisites: CSS 302, MAT 330.

CSS 412: ALGORITHMS

Credits 3
An algorithm is a series of rules that are used to solve problems in a procedural manner. This course will introduce students to the types of algorithms used in order to solve a range of computational problems, and teach students how to use each most efficiently. Students will be introduced to both basic and more complex algorithms. This course includes a final project in which students will be asked to select an algorithm and solve a computational problem. Prerequisites: CSS 302, MAT 330.

CSS 414: DATA STRUCTURES

Credits 3
This course will teach students fundamental data structures using Python. Data structures allow for the storage of vast quantities of data, as well as efficient access to and modification of said data. Students will learn what a data structure is, how to perform a range of operations on them, and be introduced to the study of algorithms as it pertains to the covered data structures. Prerequisites: MAT215, CSS111, MAT321 (or Concurrent)