Free University of Bozen - Bolzano
Summer Support Course in Programming 2007
The purpose of the Summer Support Course in Programming is to repeat (or brush up ;) programming techniques you've seen during your first 2 semesters of your study at the Bachelor in Applied Computer Science. This includes in particular things seen at Introduction to Programming, but also some things seen at Data Structures and Algorithms.
Learning to program a computer is a difficult task - you find yourself battling at least two fronts:
When you begin programming, the second front (tools, language syntax and knowledge about
the standard library) appears to be the hardest part.
It is not.
You will find this easy after this course. You'll get used
to things that look strange at the beginning and everything will seem natural.
What is hard, is the first front -- but that's an argument for the rest of your studies...
We will use the Java Programming Language (and sneak a bit into C). Java is not the easiest language to get some very simple programs done. But, it is one of the easiest and best languages that scale to larger projects. At first some "organizational" elements such as access modifier seems to be an overhead. Later, however, you're going to realize they are needed!
A professional programmer would almost certainly use an IDE to write Java source code (for example Netbeans or Eclipse). At the beginning, however, IDEs destract from learning the language syntax. Hence we'll limit ourselves to using a good editor (possibly with syntax hilighting) and compile and run our programs from the command line. After all, no future aircraft pilot did get to use an A380 during his or her first hours airbound, right?
Our environment will typically look like this (showing the gedit text editor and the shell):
2007-07-25
Lesson 1 - the false start
2007-07-26
Lesson 2 - where we are and where we want to go
2007-08-01
Lesson 3 - types
int and double; class String; every class is a type; classes and objects; something useful: a program that adds numbers and a small talk program; using Scanner to read input from the keyboard
2007-08-02
Lesson 4 - define & use your own classes
new; private object variables; methods
2007-08-03
Lesson 5 - conditional statements and loops
if and else; comparison operators: < <= > >= ==; String comparison using .equals(); boolean operators: && || !; while loops
2007-08-08
Lesson 6 - exercises
if quiz; exercises on classes: class Productsell() method in class Product
2007-08-09
Lesson 7 - more exercises; arrays
javax.swing; implement a class representing messages according to given specs; writing a test class for the message class; first steps with Java's built-in arrays; the for loop as a compact way to write a loop
2007-08-20
Lesson 8 - exerices on arrays and loops; arrays of objects
2007-08-23
Lesson 9 - more exercises on writing our on classes and arrays
2007-08-29
Lesson 10 - split groups: doing a lab exam / repeating
2007-08-30
Lesson 11 - Recursion; Reading text from files
2007-08-31
Lesson 12 - exercises on working with arrays of objects
2007-09-03
Lesson 13 - exam exercise; computing some math functions; understanding compile-time and run-time errors
2007-09-04
Lesson 14 - exam exercise
2007-09-05
Lesson 15 - exam exercise
lesson | date ---------+----------------------- 1/15 | Wednesday July 25 2/15 | Thursday July 26 3/15 | Wednesday August 1 4/15 | Thursday August 2 5/15 | Friday August 3 6/15 | Wednesday August 8 7/15 | Thursday August 9 8/15 | Monday August 20 9/15 | Thursday August 23 10/15 | Wednesday August 29 11/15 | Thursday August 30 12/15 | Friday August 31 13/15 | Monday September 3 14/15 | Tuesday September 4 15/15 | Wednesday September 5