Error message
User error : Failed to connect to memcache server: druportbe01:11211 in dmemcache_object() (line 415 of /production/drupal/dim_prod/drupal/d7cl4/prod/unich/releases/7/web/sites/all/modules/contrib/memcache/dmemcache.inc ).
PROGRAMMING AND ALGORITHMS 1 Single discipline educational activity
Course Sheet Academic Year of enrolment:
Professor and Collaborators:
Hours of classroom activity:
Objectives
Contents Introduction to programming. Introduction to Python. Conditional statement. Definite iteration. Indefinite iteration. Functions. Lists, sets and dictionaries. File management. Recursion. Sorting and searching algorithms. Introduction to computational complexity.
Extended Syllabus Introduction to programming.
* Hardware and software
* Programs and algorithms
* Programming languages, interpreters and compilers
Introduction to Python.
* The first Python program
* Variables and numeric data types
* Arithmetic expressions
* Strings
* Input and output using the terminal
* Binary representation of data
Conditional statements and operators.
* The if statement
* Relational operators
* Nested branches
* Multiple alternatives
* Boolean operators
Definite and indefinite iteration.
* The for statement
* The while statement
* Break and continue statements
* Nested loops
Functions.
* Implementation and testing of functions
* Parameter passing
* Result of a function
* Scope of variables
Lists, sets and dictionaries.
* Lists
* Algorithms that operate on lists
* Tables as lists of lists
* Sets
* Dictionaries
* Complex structures
File management.
* Reading and writing text files
* Exception handling
Recursion.
* Recursive functions
* The stack of activation records
Introduction to computational complexity.
* Measuring the performance of an algorithm
* The notations O(n), Θ(n) and Ω(n)
Sorting and searching algorithms.
* Linear and binary search
* Selection sort
* Merge sort
* Quicksort
Recommended Bibliography Cay S. Horstmann, Rance D. Necaise
Python for Everyone (3rd edition)
Wiley
Methods of Provision
Teaching Methods The course consists of 48 hours of lectures.
Evaluation methods Verification of learning:
The exam consists of a written/practical test and an oral test, normally optional.
The written/practical test consists of a series of programming exercises, some to be carried out using a computer (for example, writing a program that meets certain specifications), others on paper (for example, writing the execution trace of a given program ).
It is expected that homework will be assigned during the course of the lessons. These are optional tests which, if carried out correctly, will grant an additional score in the final grade.
Contacts/More Information This course is accompanied by the one called "Laboratorio di Programmazione 1", which completes the training with practical sessions in the computer laboratory.
Further information is available on the course website on the fad.unich.it e-learning platform. The same platform will also be used as a forum for communicating with students.