Introduction
to Programming
Lecturer: Francesco
Ricci
Academic year
2011-2012 - 1st Semester
|
 |
Start date:
September 28th
Lectures: Tuesday and Wednesday 10:30-12:30 Room E221
Labs: Wednesday: 14:00-16:00 Room E431 Mehdi Elahi (E)
- 16:00-18:00 Room 531 Markus Innerebner (D) - 16:00-18:00
Room
E431 Floriano Zini (I)
Hours of availability for students and tutoring: Tuesday 14:00
- 16:00 (
send me an email to set the
appointment)
Objectives: The
objective of the Introduction to Programming course is to teach the
fundamental principles of programming. We will use an object-oriented
approach and the student will learn how objects "speak" and "cooperate"
to solve a problem. We will teach how to solve problems with good
programs. Hence not only how to write programs but also how to design
and implement effective solutions. The learning will be based on
examples, from very simple ones to more complex. We will use the Java
programming language.
Syllabus
- Introduction to computer systems
- Data types and expressions
- Classes and objects
- Conditionals and loops
- Object-oriented design
- Arrays and collections
- Inheritance and polymorphism
- Recursion
Exam
- Final exam: written
exercises and questions, 60 % of mark - as a prerequisite for trying
the written exam you have to submit a project and pass the project
evaluation
- Project: the project
consists in the
design and implementation of a Java application with a graphical user
interface 40% of the mark. More details in intro-course.pdf. Note that if you have not passed the project part you could not attend and pass the written exam. So, the project is a prerequisite for attending the written exam.
- Exam project specifications: To be published on May 28th
- Timing:
Written
Exam 10:30-12:30, June 29, 2012; deadline for submitting your
projects June 11th at noon; publication of the project
speficifications May 28th.
Lectures:
1) Introduction to computers and
programming:
2) Data and Expressions:
3) Classes and Objects:
4) Writing Classes:
5) Conditionals and Loops:
6) Loops II:
7) Software Development and Interfaces:
8) Arrays:
9) Inheritance:
10) Polymorphism:
12) Recursion:
13) Collections:
Resources:
The suggested book is:
- JSS - John Lewis and
William Loftus, Java Software Solutions, Pearson, 2011.
Other useful material