21011 - ADVANCED COMPUTER PROGRAMMING
Department of Computing Sciences
FABRIZIO IOZZI
Mission & Content Summary
MISSION
CONTENT SUMMARY
- Python programming: basic and advanced programming techniques.
- Python scientific modules
- Object-oriented programming.
- Relational and non-relational databases
- Other advanced topics
Intended Learning Outcomes (ILO)
KNOWLEDGE AND UNDERSTANDING
- Describe fundamental programming strategies.
- Describe the functioning principles of database systems.
APPLYING KNOWLEDGE AND UNDERSTANDING
- Develop advanced object-oriented Python code
- Develop code for algorithmic problem solving.
- Organize and Use databases.
Teaching methods
- Lectures
- Practical Exercises
- Individual works / Assignments
DETAILS
Face-to-face lectures will contain both theoretical and applied parts. During the applied part of the lecture, the instructors will solve, together with the class, some exercises pertaining to the concepts discussed in the theory section. Then, after a few guided exercises, students can apply autonomously the techniques illustrated during the course, and they are encouraged to propose and discuss their solutions with the rest of the class.
Exercises consist in programming assignments to be done in class under the supervision of the Instructor and the Teaching Assistants, or at home. Solving the assignments improves understanding of the theoretical concepts and complements them with hands-on knowledge of the programming tools and techniques.
Assessment methods
Continuous assessment | Partial exams | General exam | |
---|---|---|---|
|
x |
ATTENDING AND NOT ATTENDING STUDENTS
Students can take the exam in two ways:
- with assignments and a short general exam taken in the mid October session. The final grade will come from the assignments' grade (50%) and the short general exam grade (50%).
- with the complete general exam, worth 100% of the final grade, taken in any of the three exam sessions.
All assignments and exams consist of programming exercises to be solved in class or in the computer room. The programming exercises aim to assess the understanding of fundamental programming strategies and the knowledge of database systems. Collectively, the exercises will test the ability of students to develop advanced Python code, using object-oriented techniques, for algorithmic problem solving.
Teaching materials
ATTENDING AND NOT ATTENDING STUDENTS
Lecture notes provided by the instructors.