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