First cycle
degree courses
Second cycle
degree courses
Single cycle
degree courses
School of Psychology
COGNITIVE PSYCHOLOGY AND PSYCHOBIOLOGY
Course unit
INTRODUCTORY COMPUTER SCIENCE
PSP3049230, A.A. 2019/20

Information concerning the students who enrolled in A.Y. 2017/18

Information on the course unit
Degree course First cycle degree in
COGNITIVE PSYCHOLOGY AND PSYCHOBIOLOGY
PS1082, Degree course structure A.Y. 2015/16, A.Y. 2019/20
N0
bring this page
with you
Number of ECTS credits allocated 9.0
Type of assessment Mark
Course unit English denomination INTRODUCTORY COMPUTER SCIENCE
Department of reference Department of General Psychology
Mandatory attendance No
Language of instruction Italian
Branch PADOVA
Single Course unit The Course unit can be attended under the option Single Course unit attendance
Optional Course unit The Course unit can be chosen as Optional Course unit

Lecturers
Teacher in charge FEDERICO FILIRA

ECTS: details
Type Scientific-Disciplinary Sector Credits allocated
Educational activities in elective or integrative disciplines ING-INF/05 Data Processing Systems 9.0

Course unit organization
Period Second semester
Year 3rd Year
Teaching method frontal

Type of hours Credits Teaching
hours
Hours of
Individual study
Shifts
Lecture 9.0 63 162.0 No turn

Calendar
Start of activities 02/03/2020
End of activities 12/06/2020
Show course schedule 2019/20 Reg.2015 course timetable

Examination board
Board From To Members of the board
7 2019 01/10/2019 30/09/2020 FILIRA FEDERICO (Presidente)
CAMPANA GIANLUCA (Membro Effettivo)
GRASSI MASSIMO (Membro Effettivo)
NUCCI MASSIMO (Membro Effettivo)

Syllabus
Prerequisites: None
Target skills and knowledge: 1. Understanding the basic concepts of:
• logical organization and operation of computers;
• binary encoding of information;
• Elementary approaches to problem solving (algorithms) and project data structures;
• High-level programming languages;
2. Learning how to apply these concepts to problems related to: binary encoding of information, formulation of algorithms for solving simple data processing problems;
3. Acquiring the skills needed to develop simple applications in Python.
Examination methods: Two written mid-term assessments;
The written exam includes:
- theory assessment through closed-ended questions;
- programming assessment.
Assessment criteria: Acquired knowledge will be evaluated by the ability to apply the methodologies studied independently and consciously, and to implement problem solutions in Python language.
Course unit contents: Computer architecture
Background. Computers as algorithms automated performers. Logical organization and operating principles of computers: von Neumann's architecture. Central processing unit, central memory, mass storage devices, input and output devices, Hierarchy of memory (cache, main, secondary and tertiary memory); Pipeline design, CISC and RISC, multiprocessor and multi-core architectures.
The operating system
Functions and organization of operating systems. Process Management, Main Memory, Secondary Memory, Peripherals. The user interface.
Binary encoding of information
The concept of encoding information Computer architecture
Background. Computers as algorithms automated performers. Logical organization and operating principles of computers: von Neumann's architecture. Central processing unit, central memory, mass storage devices, input and output devices Hierarchy of memory (cache, main, secondary and tertiary memory); Pipeline design, CISC and RISC, multiprocessor and multi-core architectures.
Algorithms and Data Structures
Algorithm Concept, Algorithm Properties: Correctness and Efficiency. Introduction to algorithm analysis, examples of a problem and their size. Sequential and binary search algorithms. Sorting algorithms (selection sort, bubble sort, insertion sort). Implementing Search and Sorting algorithms in Python. Complexity measurement: in the worst case and in the middle case. Asymptotic O-large notation. Recursion, elimination of recursion. Data Structures. Arrays, lists, piles and tails.
Programming languages
Low level languages ​​(machine language) and high level. Translated and interpreted languages. Executing a program by compiling and interpreting. Programming paradigms: procedural, object oriented, functional, declarative.
Python language
Main data types: integers, real numbers, strings, Boolean values. Mathematical and logical operators. Expressions. Accessing the elements of a sequence: character strings, lists, and dictionaries.
The main instructions: assignment, input and output (input (), raw_input (), print), conditional (if, if ... else), iterative (while, for). The break and continue instructions. The standard Python library. The math and random libraries. The from... import... instruction. Defition of new functions, parameters, call, arguments, local visibility of the parameters and variables of a function. Passage of arguments as reference.
File types, file operations, access modes, opening and closing modes. The open, close, read, readline, readlines, write functions.
PsychoPy Framework
Introduction to the Python module "PsychoPy". It is an open-source application developed from the Nottingham University, PsychoPy allows the presentation of stimuli and collection of data for a wide range of neuroscience, psychology and psychophysics experiments.
Protection of personal data
Notes on the protection of personal data D.Lgs.196/2003, harmonized with General Data Protection Regulation (GDPR) n. 2016/679 of the European Parliament and of the Council, 27 April 2016, concerning the protection of persons with regard to the processing of personal data, as well as the free circulation of such data.
Planned learning activities and teaching methods: • Frontal lessons in classroom
• Frontal lectures in the laboratory where the theory is applyed on real data
• Implementation of algorithms seen during the lesson and scripts useful for data analysis in Python language
• Data analysis activities where students are asked to make decisions on the type of analysis to be performed and to evaluate the goodness of the results.
Additional notes about suggested reading: It is recommended to use the manual suggested and the slides of the lectures.
In addition, the following books can be used:
• Donatella Sciuto, Giacomo Buonanno, Luca Mari, "Introduction to Computer Systems," McGraw-Hill.
• Jeffrey Elkner, Allen B. Downey, and Chris Meyers, "How to Think Like a Computer Scientist: Learning with Python": http://www.greenteapress.com/thinkpython/thinkCSpy.pdf.
2nd Edition documentation: (http://www.openbookproject.net/thinkcs/python/english2e/index.html)
• Stefano Ceri, Dino Mandrioli, Licia Sbattella: "Computer Science: Programming," Mc-Graw-Hill.
Textbooks (and optional supplementary readings)
  • Dino Mandrioli, Stefano Ceri, Licia Sbattella, Paolo Cremonesi e Gianpaolo Cugola, Informatica: arte e mestiere. Milano [etc.]: McGraw-Hill education, 2014. Cerca nel catalogo
  • Kenneth A. Lambert, Programmazione in Python. --: Apogeo Education, 2018. II edizione Cerca nel catalogo

Innovative teaching methods: Teaching and learning strategies
  • Laboratory
  • Problem solving
  • Loading of files and pages (web pages, Moodle, ...)

Innovative teaching methods: Software or applications used
  • Moodle (files, quizzes, workshops, ...)

Sustainable Development Goals (SDGs)
Quality Education