Computer Science

Program Learning Outcomes

Degrees and Certificates

Classes

CSC 155: Internet History, Technology, and Security

Class Program
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.

Notes

PETH for Computer Science majors.

CSC 156: Programming for Everyone I

Class Program
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. This online class has optional live sessions.

CSC 157: Programming for Everyone II

Class Program
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. This online class has optional live sessions.

CSC 260: Web Development

Class Program
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. This online class has optional live sessions.

CSC 320: Introduction to C

Class Program
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. This online class has optional live sessions.

CSC 325: Hardware: Inside of a Microprocessor

Class Program
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.

Prerequisite Courses

CSC 335: Data Structures

Class Program
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.

CSC 340: Application Development I

Class Program
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. This online class has optional live sessions.

CSC 341: Application Development II

Class Program
Credits 3

This course - built in collaboration with Google - is the second part of the application development series. In this course, you will put your skills into practice and build your own application. By the end of this course, you'll have a greater understanding of the technologies that power modern apps and be able to build your own. This online course has optional live sessions.

CSC 350: Product Development

Class Program
Credits 3

Creating software products is more than just writing code, it also requires an analysis of what your customers want, and how to meet their needs. As a result, understanding product development is key to a successful career in technology. By the end of this course built in collaboration with Google), you will understand how product teams and processes work, and learn how to develop an idea into an actual product that delights your users. This online class has optional live sessions.

CSC 430: Algorithms

Class Program
Credits 3

This course explores algorithms from a coding-focused perspective, using Python. Students will learn about the issues that arise in the design of algorithms for solving computational problems and will explore a number of standard algorithm design paradigms and their applicability. Students will also become familiar with concepts of runtime, recursion, implementation and evaluation. This course features a heavy emphasis on practical application of algorithms to common development and engineering challenges.

Prerequisite Courses

CSC 499: Senior Capstone Project

Class Program
Credits 3

This course is intended as a culmination of all of a student’s work in their Computer Science major. Students will work in groups to launch a web app prototype which both (i) uses Database concepts from the Computer Science Core, Data Structures, and Algorithms and (ii) meets faculty approval. Students will pitch their product, select the necessary technologies, work in groups to build an application, and create a webpage from which the application can be accessed. Students will be evaluated based on whether their product meets the goals they initially established, and on their internal project management processes.

Prerequisites

Senior Standing and completion of all other CSC coursework

Notes

PCOM and PCEN for Computer Science majors.