Internationale Medieninformatik (Bachelor)
Info 1: Informatik I
Summer Term 2019
This course is an introduction to computer programming. It will be taught in English and with the Java programming language, and will be taught using the language (i.e., no prior programming experience is assumed), but it is not about the language.
The theme of this course is interactive programming. Most computation these days is not algorithmic question-answering in desktop boxes (as typically taught in introductory computer science). Instead, this course will focus on a model of computation as a set of simultaneous ongoing entities embedded in and interacting with a dynamic environment: computation as interaction; computation as it occurs in spreadsheets and video games, web applications and robots. Some of these ideas were developed by Prof. Dr. Lynn Andrea Stein while she was at MIT, I use some of her material and examples. A short discussion of the methodology can be found in this article in c't (in German). We will be using an environment called "BlueJ" in the lectures and exercises to demonstrate this way of programming.
I will assume you know nothing about computing—and you probably don't, especially if you learned something called programming in school. We will start with the concept of an object and work our way out. I don't care about mains and "hello world" problems. We will be reading lots and lots of code together. We won't be working with a big IDE (Interactive Development Environment, we'll do that next semester)—we are focussing on programming concepts, not whiz-bang code.
A major component of the class will be a weekly, two-hour, in-class laboratory. You may have pre-lab exercises to do as preparation for the lab, and you will be writing and submitting a report about the lab. The lab report will be due 22.00 the night before your next lab. Much of the lab work will be spent in collaborative work on program development, with an emphasis on student-student interaction and student-student teaching, facilitated and enriched by the course teacher. In addition, design and implementation work will be supplemented with observational laboratory assignments, inviting students to consider not only how to build a program, but how to anticipate its behavior and how to modify that behavior.
The following links offer more information about the course
|Last Change: 2019-03-21 22:20|