Free University of Bozen - Bolzano
Summer Support Course in Programming 2007

About the Course

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...

Our environment

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):

Lessons

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


2007-08-02
Lesson 4 - define & use your own classes


2007-08-03
Lesson 5 - conditional statements and loops


2007-08-08
Lesson 6 - exercises


2007-08-09
Lesson 7 - more exercises; arrays


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


Schedule

This is a tentative schedule subject to change.
Lectures start at 14:00 - we meet in room E431.
 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

References