Unit COMPUTER PROGRAMMING 3

Course
Informatics
Study-unit Code
GP004142
Curriculum
In all curricula
Teacher
Marco Baioletti
Teachers
  • Marco Baioletti
Hours
  • 42 ore - Marco Baioletti
CFU
6
Course Regulation
Coorte 2017
Offered
2019/20
Learning activities
Caratterizzante
Area
Discipline informatiche
Academic discipline
INF/01
Type of study-unit
Opzionale (Optional)
Type of learning activities
Attività formativa monodisciplinare
Language of instruction
Italian
Contents
Advanced concepts of object oriented programming, collections and concurrency

Kotlin programming language and some aspects of functional programming in Kotlin

Introduction to C++ programming language
Reference texts
course notes provided by the teacher

Kotlin in Action
D. Jemerov and S. Isakova
Manning Publications, 2017

The C++ Programming Language
B. Stroustrup
Addison-Wesley Professional; 2013
Educational objectives
The course represents an advanced course on programming and examines advanced concepts of object oriented programming. Moreover it also examines some aspects related to the concurrency and functional programming.

The main purpose of this course is to provide the students the tools and knowledge needed to develop object oriented programs.

Main knowledge acquired will be
*advanced elements of object oriented programming
*concurrency
*elementary concepts of functional programming

Main competences will be
*being able to use development tools
*designing user interfaces
*developing small-middle size applications
Prerequisites
Imperative programming
Object-oriented programming (Java)
Teaching methods
Lectures on all the subjects of the course, with illustration of some programming examples
Other information

Learning verification modality
The exam comprises two tests

1)a project to be developed as a homework (for one or maximum two students). The purpose of this test is to check the knowledge about object oriented programming and application development

2) an oral test, where the student should
present her/his project
describe some theoretical topics seen in the course.
The purpose of this test is to ascertain the knowledge level, understanding capabilities and communication skills acquired by the student.

Students who do not speak Italian can do the exam in French or English.
Extended program
Recalls of object oriented programming concept
class, object, field, method
allocation
inheritance, polymorphism, interfaces
concurrency in Java
lambda-expressions and streams

Introduction to Kotlin programming language
Functional programming in Kotlin
Concurrency in Kotlin

Advanced object oriented programming
introduction to C++
memory management
pointers and references
template
concurrency in C++
QT user interfaces
graphics
Condividi su