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 2018
Offered
2020/21
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 mobile programming

Javascript language and frameworks client-side web programming

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

JavaScript: The Definitive Guide: Master the World's Most-Used Programming Language
David Flanagan
O'Reilly Media, 2020
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 application for desktop, mobile and web environments,

Main knowledge acquired will be
*advanced elements of object oriented programming
*concurrency
*elementary concepts of functional programming
*mobile programming
*client-side web 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 an individual homework. 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 and
discuss 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
Collections
concurrency in Java


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

Introduction to Javascript language and its use in client-side web programming

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