301AA - Advanced Programming [AP-2019] Lecturer: Andrea Corradini - - PowerPoint PPT Presentation

301aa advanced programming ap 2019
SMART_READER_LITE
LIVE PREVIEW

301AA - Advanced Programming [AP-2019] Lecturer: Andrea Corradini - - PowerPoint PPT Presentation

301AA - Advanced Programming [AP-2019] Lecturer: Andrea Corradini andrea@di.unipi.it h?p://pages.di.unipi.it/corradini/ Assistant: Ma,eo Busi ma?eo.busi@di.unipi.it Course pages: h?p://pages.di.unipi.it/corradini/DidaEca/AP-19/ Department of


slide-1
SLIDE 1

301AA - Advanced Programming [AP-2019]

Lecturer: Andrea Corradini andrea@di.unipi.it h?p://pages.di.unipi.it/corradini/ Assistant: Ma,eo Busi ma?eo.busi@di.unipi.it Course pages: h?p://pages.di.unipi.it/corradini/DidaEca/AP-19/ Department of Computer Science, Pisa Academic Year 2019/20

AP-01: Overview and Admins

slide-2
SLIDE 2

Goals

  • To provide the students with a deep understanding of

how high level programming concepts and metaphors map into executable systems and which are their costs and limita;ons

  • To gain familiarity with modern principles, techniques,

and best pracPces of soQware construcPon

  • To introduce the students to techniques of

programming at higher abstracPon levels, in parPcular component programming and func;onal programming

  • To present state-of-the-art frameworks incorporaPng

these techniques.

2

slide-3
SLIDE 3

Prerequisites

  • Undergraduate level knowledge of

– at least one object-oriented programming language (like Java, C++, C# or others) – at least one funcPonal programming language (like Haskell, OCaml, Scheme or others)

èInformal test soon: Thursday è SuggesPons to fill possible gaps will be given

3

slide-4
SLIDE 4

Programme

  • Run Time Support and ExecuPon

Environments

  • Component Based Programming
  • SoQware and ApplicaPon Frameworks
  • Polymorphism & Generic Programming
  • FuncPonal aspects of programming languages
  • ScripPng languages
  • Advanced concepts in programming languages

4

slide-5
SLIDE 5

OrganizaPon of the course

  • An informal entry test will be proposed at the beginning of the
  • course. If the soluPons are not saPsfactory the student will be

instructed on how to fill the idenPfied gaps in the preparaPon.

  • Frontal lessons are performed using slides and blackboard
  • Prac8cal sessions will take place in the classroom, under

supervision of the lecturer and of the tutor. Students are invited to bring their own laptops

  • InteracPon with the teacher is done through interviews (on fixed
  • ffice hours or by appointment) and by e-mail.
  • On the web page of the course, the slides presented in each lesson

are published progressively, with references to corresponding topics in the reading material.

  • à see h?p://pages.di.unipi.it/corradini/DidaEca/AP-18/

5

slide-6
SLIDE 6

EvaluaPon and other things…

Evalua8on

  • Some (three?) programming assignments during the

course

  • Final oral exam

A,endance to the course is strongly encouraged

  • If you miss a lesson, you can find on the course web

page the list of topics presented for each lesson, with the projected slides and references to the relevant teaching material.

  • ExaminaPon methods for non-a?ending students are

idenPcal to those for a?ending students.

6

slide-7
SLIDE 7

Reading material

  • Will be suggested progressively along the course
  • Mostly material accessible on-line

Credits

  • Slides of the course freely taken and elaborated

from a number of sources:

– Giuseppe A,ardi (DIP), Advanced Programming – Gianluigi Ferrari (DIP), Advanced Programming – Antonio Cisternino (DIP) – and others that will be indicated along the course

7

slide-8
SLIDE 8

Some Suggested Readings

Programming Language PragmaPcs, 4th ed. Michael L. Sco?, Morgan-Kaufmann, 2015. Component SoQware: Beyond Object-Oriented

  • Programming. C. Szyperski, D. Gruntz, S.

Murer, Addison-Wesley, 2002. Concepts in Programming Languages. John C. Mitchell, Cambridge University Press, 2002. Object Thinking. D. West, MicrosoQ Press, 2004.

slide-9
SLIDE 9

Admins…

  • Web page of the course:

h,p://pages.di.unipi.it/corradini/DidaFca/AP-19/ (permanently under construc7on…)

  • Office Hours: Friday, 9-11

– Also: by appointment, sending an email to andrea@di.unipi.it

9

slide-10
SLIDE 10

Other infos

  • Italian language courses, organized by CLI (Centro

LinguisPco InterdiparPmentale)

– h?p://www.cli.unipi.it/corsi/test-dingresso

  • List of courses offered by the Master Programmes,

Timetables, …

  • Erasmus+ -- next call: 25/09/2019 deadline: 9/10/2019
  • Double Degree with "Master Degree in Computer

Engineering" of University of Malaga

– h?ps://www.uma.es/master-en-ingenieria-informaPca? set_language=en

  • à for info send an email to erasmus@di.unipi.it

10