07276 - Computer Science

Academic Year 2019/2020

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Mathematics (cod. 8010)

Learning outcomes

The student will learn a programming language and will be able to design programs using simple algorithms and data structures.

Course contents

Computer science and problem solving. Abstract machines. Python machine. Programming in Python: names and visibility, functions, immutable and mutable objects, basic data structures (strings, tuples, lists, dictionaries) and their use in the solution of problems. Abstract data types: queues, stacks, binary trees. Representation of information. Structure of the Von Neumann machine. Limitations of effective procedures: non decidable problems.

The course involves an important lab activity, where the instructors is joined by a teaching assistant and other senior students in giving assistance to students.

Readings/Bibliography

Allen B. Downey
Think Python 2e.
O'Reilly Media, 2012. ISBN 978-1449330729.
On-line manuscript: see http://www.cs.unibo.it/~martini/MATH/index.html [http://greenteapress.com/thinkpython/]

Jessen Havill
Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming
Chapman and Hall/CRC. ISBN 9781482254143


Teaching methods

Lectures.

Guided programming experimentations using the students' PCs, in selected hours, in pair programming.

During the lab hours the instructor is joined by three other teaching assistants in giving assistance to students.

Assessment methods

There is a single exam covering both the lectures and the lab. Lab homework is assigned every week---this homework is not graded, but if handed in regularly, it will result in one point bonus in the final grade.

Final exam consists of a lab test (0 to 10 points; 5 points needed to pass) and a written test (0 to 24 points; 13 points needed to pass). Final grade is the sum of the two sufficient grades, plus the bonus (if any).

Lab test is waived for the students in Philosophy.


Teaching tools


Info and material available at www.cs.unibo.it/~martini/MATH

 

Students are encouraged to install on their PCs Thonny, an environment for the programming language Python 3, which will be used during the lectures.

 

All material for the lab will be available on the Moodle platform lab-info-mat.cs.unibo.it/moodle/  

Links to further information

http://www.cs.unibo.it/~martini/MATH/index.html

Office hours

See the website of Simone Martini

SDGs

Quality education

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.