Computer Science
Courses
CSC 105: INTERNET HISTORY, SECURITY & TECHNOLOGY
Credits 3To 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 3CSC 110: PROGRAMMING FOR EVERYONE I
Credits 3This 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 3CSC 200: CAREER NAVIGATION AND EXPLORATION IN COMPUTER SCIENCE
Credits 3This course will help you find a job in Software Engineering upon graduation. Not just any job; one that meets your personal and financial needs and makes you excited about the future. In this course, you'll explore career paths in Software Engineering, potential salary outcomes, and different roles. Then, you'll pick target jobs and opportunities that are the best fit for you, and make a clear plan of action toward securing them. Prerequisites: Any programming class.
CSC 205: WEB DEVELOPMENT
Credits 3CSC 210: APPLICAITON DEVELOPMENT I
Credits 3Modern 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 220: DATA STRUCTURES
Credits 3Ever wondered how search engines like Google can find what you need in milliseconds? The secret lies in efficient data structures. In this course, you will learn the fundamentals of data structures and why they are so crucial for optimizing performance. You'll explore linked lists, stacks, queues, trees, and graphs, and learn where to use them. By the end, you'll implement these structures to make your programs faster and be well-prepared for coding interviews. Prerequisites: CSC 115
CSC 300: APPLICATION DEVELOPMENT I: BACKEND
Credits 3This course is all about equipping you with the skills to build dynamic, database-driven web applicaitons- the core of great app development. You'll create powerful backend scripts using Java and Javascript, build RESTful APIs and develop middleware for user authentication and session management. By the end you'll create apps that are not only functional but also beautiful, engaging, and solve real-world problems. Prerequisites: CSC 110 or MAT 215, CSC 205.
CSC 305: INTRODUCTION TO C
Credits 3CSC 305: INTRODUCTION TO C
Credits 3In 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 310: APPLICAITON DEVELOPMENT II
Credits 3This 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. Prerequisite: CSC 205, CSC 210
CSC 315: HARDWARE I- INSIDE OF A MICROPROCESSER
Credits 3This 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 as well as 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: CSC 305, MAT 221
CSC 320: MODERN TECHNOLOGIES
Credits 3Ready to take your coding skills to the next level? It's time to explore the cutting-edge technologies that elevate you from a simple programmer to a software engineer. Discover tools like Docker, Jira, cloud computing and GitHub that are essential for building scalable and secure products people can actually use. When you understand why these technologies matter and how they impact the industry, you'll be ready to build real applications and stay ahead in tech. Prerequisites:: CSC 110 or MAT 215.
CSC 325: ALGORITHMS
Credits 3Imagine having to wait hours to buy a product online due to slow load speeds. That's the world without efficient algorithms. Algorithms are crucial for many everyday applications, such as enabling GPS systems to find the best routes and online stores to load quickly. In this course, you'll uncover the magic behind algorithms, learning divide- and-conquer, dynamic programming, and greedy algorithms. By the end, you'll build scalable applications that won't break. Prerequisites: CSC 220, MAT 221 or MAT 330
CSC 330: SOFTWARE DEVELOPMENT
Credits 3Ever wondered what it takes to turn a great idea into a fully functional software product? This course covers everything from concept to implementation. learn to use Git for efficient code management, ensure quality with comprehensive testing, and streamline delivery with CI/CD pipelines. Discover design patterns and apply SDLC methods. By the end, you'll be equipped to tackle any software project with confidence and expertise. Prerequisites: CSC 205, CSC 300
CSC 400: COMPUTER SYSTEMS
Credits 3Curious about what happens under the hood of your computer? This course explores the inner workings of computer systems while teaching you the C programming language. Learn the fundamentals of operating systems, memory management, and file systems. Explore how microprocessors execute instructions and how peripherals communicate with the main system. By the end, you'll have an understanding of computer architecture and be able to optimize system performance using C. Prerequisites: CSC 110 or MAT 215.
CSC 415: PRODUCT DEVELOPMENT
Credits 3Creating 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. Prerequisite: Sophomore Status
CSC 420: CLOUD APPLICATIONS PRACTICUM
Credits 3Software engineers are frequently tasked with building applications using unfamiliar elements. This course will ask you to build an application using the Google Cloud Platform (GCP) and one or more unfamiliar technologies or tools you select. By the end of this course, you will learn how to tackle unfamiliar situations, a key skill for any programmer, and improve your skills in programming and software development. This course will provide you with a project to add to your portfolio of work. Prerequisite: ITM 202, CSC 310, CSC 405
CSC 425: COMPUTER SCIENCE CAPSTONE
Credits 3This 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 that meets the following requirements:
1. Uses Database concepts from the Computer Science Core, Data Structures, and
Algorithms.
2. 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. Prerequisite: CSC 305, CSC 310, CSC 410, CSC 415 or
concurrent