Course Summaries

Summaries of Courses Offered

.

.

Beginner’s Approach to Computer Programming (Python)

.

     This course will use computational music remixing in order to teach the fundamentals of the Python programming language. The program being used, EarSketch, teaches programming fundamentals such as variables, constants, functions, conditionals, loops, and others, by allowing students to manipulate musical samples and “write” their own songs by writing a complete and functional Python program. Great for students with no prior programming experience! Full course materials are provided for free on the EarSketch site for anyone interested who did not attend the course. Several of the students’ final songs can be found on the iLab Student Work site.

.

Video Production

.

    This course teaches the basic skills and principles of digital video production through a project-based instructional format, where they will shoot, edit, and script their own short videos.

Students learn the fundamentals of cinematography, scripting voice-overs, and video and audio editing. By the end of the course, students will have produced their own short documentary video, covering a local news issue that is important to them. Several of their final videos can be seen on the iLab Student Work site.

.

Open Source Learning

.

     This course helps guide students toward discovering and using the vast array of Open Source Learning platforms freely available on the Internet to learn anything, anywhere, at any time. We survey such platforms as Coursera, EdX, Udacity, NovoEd, and Khan Academy and Code Academy, as well as online communities such as Instructables, stackOverflow, and many, many more.

The goal is to guide small groups of students to select a platform and a course of study that fits their personal and group interests, and to cultivate the practices of both independent study and group study that will support their successful completion of the course of their choice. We discuss how to participate in online knowledge communities to work through confusion and obstacles in course material, as well as what it means to be a good participant in those communities. We also use such social media tools as email, Twitter, Google Docs, and others, to help create structures for group study.

.

Physical Computing

.

     This course uses the hardware and software components of physical computing to help students use computing to solve real-world, physical problems. We use the Arduino microprocessor, along with several cheap sensor devices to examine the relationship between hardware and software, and how programs can take in input from the physical environment and operate on it algorithmically in order to produce a visible or audible result. In addition to learning the hardware fundamentals of circuits, resistors, voltage, current, and sensors, we will be learning about such programming fundamentals as variables, functions, conditionals, loops, and Boolean logic. Finally, the creative, problem-solving skills learned in this course are directly applicable to any real-world troubleshooting or debugging process. Students in this course are encouraged to draw on the resources of open source, online “Maker” communities such as MakeMag, Instructables, and others.

.

Intermediate Approach to Computer Programming (Java)

.

     This course uses the visual display program Processing in order to teach the fundamentals of object-oriented programming in Java. We review and extend the basic programming concepts taught in the Introduction to Computer Programming course, and apply the students’ knowledge of basic programming concepts to the Java language. This course will teach the object-oriented concepts of classes, methods, arrays, and user interaction to create simple graphic visualizations. Processing is a free program, and the tutorials found on the Processing site are free and robust enough to teach the basics even if you did not attend the course.

Leave a Reply

Your email address will not be published. Required fields are marked *