Corso di Laurea in Informatica anno di corso codice denominazione cfu 1 E3101Q106 PROGRAMMAZIONE 2 turno A-L PROGRAMMAZIONE 2 turno M-Z settore scientifico disciplinare tipo semestre 8 INF/01 obbligatorio Secondo Semestre 8 INF/01 obbligatorio Secondo Semestre tipo attività didattica cfu ore turno LEZ 2 16 A-L LEZ 2 16 A-L ESE 2 20 A-L LAEL 2 24 A-L LEZ 2 16 M-Z LEZ 2 16 M-Z ESE 2 20 M-Z LAEL 2 24 M-Z docenti DENARO GIOVANNI DENARO GIOVANNI CV docenti: http://www.unimib.it/go/176181440 Didattica Contenuti Basi della progettazione software con utilizzo di UML. Programmazione a oggetti in Java con utilizzo di alcune librerie. Ambiente di sviluppo Eclipse. Elementi sulle interfacce grafiche. Testing e debugging con Junit. Testi di riferimento Programmazione di base e avanzata con Java, Walter Savitch, Edizione in Italiano, ISBN-10: 8865181907, Pearson, 2014 Obiettivi formativi Alla fine del corso lo studente sarà in grado di utilizzare i principali concetti della programmazione a oggetti per progettare, sviluppare e testare semplici programmi Java. Prerequisiti Programmazione imperativa (vedi Programmazione 1) Metodi didattici Lezioni ed esercitazioni in aula. Attività di laboratorio in e-learning mediante esercizi, test di autovalutazione e tutoraggio on-line. Modalità di verifica dell'apprendimento La verifica dell'apprendimento comprende una prova scritta e una eventuale discussione del risultato. La verifica dell'apprendimento può inoltre derivare dall'esito di prove intermedie parziali.
Corso di Laurea in Informatica Programma esteso 1 Concetti di base: - analisi, progettazione e programmazione - astrazioni: classificazioni, generalizzazioni, aggregazioni - notazione UML: diagramma delle classi, diagramma degli oggetti - Object-Oriented Programming 2 Definizione di classi e creazione di oggetti in Java: - dal diagramma delle classi alle classi in Java - gestione della memoria e concetto di reference - associazioni 1 a 1 - associazioni 1 a n 3 Metodi: - metodi di istanza - overloading - passaggio parametri di tipo reference - metodi di classe 4 Information hiding e incapsulamento - getodi get e set - visibilità - costruttori 5 Eclipse, Junit e Debug 6 Ereditarietà - Uml e Java - overriding - costruttori nelle classi derivate
Corso di Laurea in Informatica - polimorfismo - classi astratte e interfacce 7 Eccezioni - gestione delle eccezioni - definizione di classi di eccezioni 8 Alcune librerie standard - I/O - collection framework - cenni sulle interfacce grafice: AWT e gestione eventi
Undergraduate course in Computer Science year code course name ECTS type semester 1 E3101Q106 PROGRAMMING 2 A-L PROGRAMMING 2 M-Z 8 mandatory 8 mandatory Second Semester Second Semester educational activity type ECTS hours lecture 2 16 A-L lecture 2 16 A-L practice exercise e-learning laboratory 2 20 A-L 2 24 A-L lecture 2 16 M-Z lecture 2 16 M-Z practice exercise e-learning laboratory 2 20 M-Z 2 24 M-Z faculty Professors CV: http://www.unimib.it/go/176181440 Contents Basic elements of software design with UML. Object-oriented programming using Java. Usage of some Java libraries. Eclipse as IDE. Swing based graphical user interfaces. Testing and debugging exploiting JUnit. Textbooks Programmazione di base e avanzata con Java, Walter Savitch, Edizione in Italiano, ISBN-10: 8865181907, Pearson, 2014 UML distilled. Course objectives At the end of the course the student is expected to master the major abstraction mechanisms useful in the analysis, the design and the testing of small Java software applications. Prerequisites Imperative programming (see Programming 1) Teaching methods Lectures and recitations. Practice labs via e-learning, with tutor support and auxiliary leaning material (exercises, self-test questions) Learning assessments The verification of learning includes a written test and a possible discussion of the result. The verification of learning can also derive from the outcome of intermediate tests partial.
Undergraduate course in Computer Science Extended Syllabus 1 Basic concepts: - analysis, design, and programming - abstractions: classification, generalization, aggregation - UML notation: class diagram, object diagram - Object-Oriented Programming 2 Class definition and objects instantiation: - from the class diagram to Java classes - memory management and references - 1 to 1 associations - 1 to many associations - lists 3 Methods: - instance methods - overloading - parameters of type class - class method" 4 "Information hiding e encapsulation - get e set methods - visibility - constructors 5 Eclipse, Junit, and Debug 6 Inheritance - Uml and Java
Undergraduate course in Computer Science - overriding - costructors in derived classes - polymorphism - abstract classes and interfaces" 7 "Exceptions - exception handling - definition of exception classes 8 Examples of standard libraries: - I/O - collection framework - overview about graphical user interfaces: the AWT and event handling