Each of our introductory courses covers the same fundamental principles and the same core concepts in computing. All the courses introduce computers and computing: what they are, how they work, and what we are (and are not) able to do with them. You will also learn the most fundamental tool of computing, how to program. At its core, programming is the process of learning to talk to computers so that we can get them to do what we need. Why do we think everyone can benefit from studying some computer science? We believe that at some point in your future career, while in college or beyond, you will be faced with a challenge that is best tackled by having a computer's help. An introduction to CS is the best way to learn how to communicate with the computer, and how to communicate with other system and software designers you may need to call on for help in the future.
At its core, our introductory course is about how to think about and solve problems. So if you're thinking about a CS major or minor, this will give you a solid foundation. If you're a major in ANY other discipline, this course will help you see how you can use computers to help you solve problems in your world.
By the end of the course, you should be proficient in the following:
You will learn all of this in the context of one of the themes, so you will also know how to do one of the following:
Uses the theme of natural and social science applications. Includes development of programs and use of existing applications and tools for computational applications including simulation, data analysis, visualization, and other computational experiments. Uses Python.
Uses a robotics theme. Students will build and program robots, exploring mobility, navigation, sensing, and inter-robot communication. Additional class topics include: history of robotics, social and ethical issues, emotionally intelligent behavior and other current topics in robotics. Uses Python.
Uses a computer games theme. Computer game development is used as an example application area and students implement their own games throughout the course. Uses Python.
Focuses on the theme of artificial intelligence (AI). If you've ever wondered how computers are able to perform "intelligent" tasks, this course will show you how the magic works. If you're a neuroscience major, this course will help you see how scientists are using biological and neurological principles to model "behavior" in computers. It's also a foundation for the computational track in neuroscience. Uses Python.
Uses a media computation theme. Media computation is used as an application area, focusing on image manipulation, sound splicing, animations, HTML generation and automated reading of web pages. Uses Python.
Uses an engineering applications theme. Topics include math and logical operations, data types, matrices, conditions and decisions, looping, subroutines, numerical methods, and plotting. Uses MATLAB.
In class, you are required to use our lab iMacs. However, when working on your projects outside of class, you have a choice. You are welcome to use your own computer, and most of the software you will need is free and downloadable. If you'd like to continue using our iMacs, feel free! We have three spaces that you can use: