Computer programming is the world where creativity meets technology. You imagine something that you want the computer to do and then you teach the computer how to do it. Programming is both intriguing and challenging; you have to apply analytical reasoning in order to get your program to work. This introductory course uses the language of Python to build understanding of fundamental programming concepts. Working at their own pace, students complete lab activities to study the following topics: variables, repetition loops, lists, decision structures, and subroutines. They apply this knowledge to projects of their own design.

This course emphasizes cultivation of good programming habits and communication skills in a team programming environment. The curriculum focuses on large important ideas in programming, such as recursion and modularization, implemented in the language of Python. Students will work both independently and in small groups to design projects, which may include games, multimedia work, software applications, or programming a robot. With extensive use of user-defined types, students begin the transition to object-oriented thinking and prepare for the next course in the programming sequence.

We will expand upon the skills learned in Programming 1 and 2 by learning Java.  In Java, the use of classes in mandatory.

Data Analysis and Visualization are becoming increasingly important, especially now that there are so many "Big Data" sets that people want to get information from.  We will use Python and mySQL to learn more about how data is stored, analyzed and presented to the people who want to understand its meaning.