Adv Prob Solving and O-O Prog

This course builds on the basic programming concepts learned in Computer Science 101. Emphasis is on developing the skills needed to write more sophisticated programs. This includes strategies to aid in assuring the correctness of programs through the use of assertions and unit testing as well as advanced Java features such as inheritance, polymorphism, and network programming. We will also introduce some widely used data structures such as vectors and linked lists. This course is programming-intensive.

Introduction to Data Science

This course will survey the foundational topics of the emerging field of Data Science. This course will introduce the skills, techniques, and tools needed to collect, prepare, analyze, and visualize data to quantitatively ask and answer questions. Through readings, discussions, case studies, and projects, students will explore a breadth of subjects including programming for data manipulation, the presentation and representation of data, statistics and machine learning, "Big Data," and the ethics of working with data at scale.

iDesign Studio

Designers are continually innovating ways of incorporating technology into today's world, from projections of butterflies on Grammy performance dresses to "smart" purses that sense when your wallet is missing. The recent emergence of low-cost, user-friendly components is making this new world of design accessible to a broad community. In this course, students will think critically about products already in the marketplace and will be given the tools to create their own designs.

Fund. of Applied Computing

Have you ever used Google's image search tool and wondered how the search results were found? Why is it so difficult for a computer to "see" as we do? Computer scientists are actively researching how to approach this challenge of "computer vision." This course will introduce the fundamentals of applied computing using computer vision as a motivating theme. Students will learn foundations of programming (in the Python programming language) before working with computational tools more independently.

Problem Solving/Object Prog

Computers are used every day for an enormous variety of tasks, from playing games and chatting with friends to transferring billions of dollars, delivering radiation treatments, and controlling the electrical grid. Computer programs are an essential ingredient in allowing for this great diversity of applications. In this course, you will learn to create your own programs, based on core programming concepts and analytical problem solving approaches. You will develop programs involving graphics, animation and games using Java, a very popular modern programming language.
Subscribe to