Principles of Computer Science - 2017/2018

This course is part of the Bioinformatics program at Sapienza University of Rome. The topics covered in this course include: introduction to programming, Python 2.7, its standard library, and its use in the analysis of data.

Teachers

Prof. Flavio Chierichetti, Dr. Shahrzad Haddadan

Classrooms

  • Tuesday 11:00-14:00 (Psicologia A, CU026)
  • Wednesday 9:00-11:00 (Psicologia A, CU026)

Useful Links

  • Please subscribe to our mailing list (using your institutional email address ...@studenti.uniroma1.it) to receive the lecture notes, to ask questions, to read answers, and to get news about the course.
  • Download Canopy, a software package containing Python 2.7 and a number of its libraries.

Textbooks

Grading

Homeworks will be given during the course - these homeworks will consist of several program-writing exercises.

If a student gets a final homework score greater than or equal 17, he or she will only have to do the oral exam in January or February.

If a student does not get a final homework score greater than or equal 17, or if a student does not pass the oral exam in January or February, he or she will have to do both a written and an oral exam. Please also note that if a student decides to do the written exam, he or she loses whichever homework score he or she obtained.

Exams

The first Summer exam will take place on June 14th at 14:30 in Aula G50, Viale Regina Elena, 295b (Palazzina G - Third Floor).

The second Summer exam will take place on July 4th at 14:30 in Aula G50, Viale Regina Elena, 295b (Palazzina G - Third Floor).

Homeworks

The final homework grades have been published.

The grades of the second homework have been published.

The grades of the first homework have been published.

Ethical Code

Copying is forbidden, and each student has to write the homework solutions by himself or herself, and must not show the solutions to other students. On the other hand, students are encouraged to discuss approaches for solving the exercises.

The teachers will analyze all the submitted solutions, and will strongly penalize plagiarism.

Syllabus

  • October 3rd: Computers and Programming; First Steps in Python
  • October 4th: Exercises
  • October 10th: Sequences and Iterations
  • October 11th: Exercises
  • October 17th: Making Decisions
  • October 18th: Exercises
  • October 24th: Objects and Methods, Text and Strings
  • October 25th: Exercises
  • October 31st: Files
  • November 1st: Holiday
  • November 7th: Dictionaries and Sets
  • November 8th: Exercises
  • November 14th: Arrays, Pictures
  • November 15th: Exercises
  • November 21st: Dictionaries (2), Arrays (2)
  • November 22nd: Exercises
  • November 28th: Classes
  • November 29th: Exercises
  • December 5th: Databases and SQL
  • December 6th: Exercises
  • December 12th: Trees and Recursion
  • December 13th: Exercises