ADVANCED PROGRAMMING TECHNIQUES

Computer science ADVANCED PROGRAMMING TECHNIQUES

0512100026
DIPARTIMENTO DI INFORMATICA
COMPUTER SCIENCE
2013/2014



YEAR OF DIDACTIC SYSTEM 2008
PRIMO SEMESTRE
CFUHOURSACTIVITY
648LESSONS
Objectives
KNOWLEDGE AND UNDERSTANDING:
THE COURSE PRESENTS SOME ASPECTS OF MANAGING OBJECT ORIENTED LANGUAGES, INCLUDING MULTIPLE INHERITANCE AND ASSOCIATION BETWEEN SELECTORS AND METHODS.
THE COURSE ALSO AIMS TO MAKE THE STUDENT ABLE TO MASTER ADVANCED PROGRAMMING TECHNIQUES, SUCH AS EVENT-DRIVEN PROGRAMMING, CONCURRENCY, INTERNATIONALIZATION OF PROGRAMS, DATA EXCHANGE THROUGH XML.

APPLYING KNOWLEDGE AND UNDERSTANDING:
THE STUDENT WILL BE ABLE TO MAKE, STARTING FROM A GIVEN PROBLEM, AN ANALYSIS OF ITS SPECIFICATIONS, THE DEFINITION OF A STRATEGY FOR SOLUTION AND ITS IMPLEMENTATION APPLYING THE METHODOLOGICAL AND FORMAL KNOWLEDGE APPROACHES INTRODUCED, USING THE JAVA LANGUAGE.

COMMUNICATION SKILLS:
THROUGH LABORATORY ACTIVITIES, THE COURSE WILL TEND TO FAVOUR THE DEVELOPMENT OF THE ABILITY TO WORK IN A TEAM. STUDENTS WILL BE ENCOURAGED TO WORK IN A TEAM TO CONTRIBUTE TO THE FORMULATION OF STRATEGIES TO SOLVING THE PROBLEMS IN RELATION TO PROPOSED PROBLEMS, AND TO PUBLICLY EXPLAIN THE METHODOLOGY IMPLEMENTED, HIGHLIGHTING ITS WEAKNESSES AND STRENGTHS.

MAKING JUDGEMENTS:
STUDENTS ARE DRIVEN TO LEARN CRITICALLY AND RESPONSIBLE FOR EVERYTHING THAT IS EXPLAINED TO THEM IN CLASS AND TO ENRICH THEIR JUDGMENT THROUGH THE STUDY OF TEACHING MATERIALS DESIGNATED BY THE TEACHER.

LEARNING SKILLS:
LEARNING IS GRADUAL AND IS FAVORED BY THE USE OF NUMEROUS PROGRAMMING EXAMPLES. THE STUDENT APPLIES THE LEARNED PROGRAMMING TECHNIQUES TO A REAL CASE .
THE DEVELOPMENT OF A PROJECT CARRIED OUT IN SMALL GROUPS, UNDER THE SUPERVISION OF THE TEACHER, FURTHER STIMULATES LEARNING CAPACITY.

Prerequisites
IT IS ASSUMED THAT THE STUDENT HAS ALREADY FOLLOWED AN INTRODUCTORY COURSE ON PROGRAMMING IN JAVA. IT IS ALSO ADVISABLE TO HAVE ACQUIRED AT LEAST THE BASICS OF A SOFTWARE ENGINEERING COURSE.
Contents
THE COURSE ADDRESSES ADVANCED ASPECTS OF JAVA PROGRAMMING, IN ORDER TO PERMIT THE SCHEDULING OF ENTERPRISE WEB APPLICATIONS. IN PARTICULAR, IN THE FIRST PART OF THIS COURSE IS AN OVERVIEW OF SOME BASIC CONCEPTS OF THE J2SE PLATFORM, SUCH AS THREADS, EVENT HANDLING, THE INTERNATIONALIZATION OF PROGRAMS, THE CREATION OF GRAPHICAL USER INTERFACES WITH SWING, XML OVERVIEW, AND FINALLY THE EVOLUTIONS OF THE J2SE PLATFORM. THE SECOND PART DISCUSSES THE ARCHITECTURE OF ENTERPRISE WEB APPLICATIONS, POINTING OUT THE DIFFERENCES COMPARED TO STAND ALONE.

Teaching Methods
LECTURES (100%), OF WHICH ABOUT 25% ON EXERCISES AND PROGRAMMING EXAMPLES.
Verification of learning
THE EXAM CONSISTS OF A WRITTEN TEST AND AN ORAL TEST, WITH THE DISCUSSION OF A PROJECT PREPARED BY THE STUDENTS IN SMALL GROUPS.
THE WRITTEN TEST CONSISTS IN CARRYING OUT A PROGRAMMING EXERCISE.
THE PROJECT FORESEES THE DEVELOPMENT OF AN EVENT-DRIVEN AND CONCURRENT APPLICATION WITH ITS GRAPHICAL USER INTERFACE.
THE QUALITY OF DOCUMENTATION, THE MOTIVATION OF THE DESIGN CHOICES MADE, THE EFFECTIVENESS AND EFFICIENCY OF THE PROPOSED SOLUTIONS WILL BE EVALUATED. THE OUTCOME OF THE WRITTEN TEST, ORAL EXAM AND DISCUSSION OF THE PROJECT CONTRIBUTE TO THE FORMULATION OF THE FINAL VOTE WITH WEIGHTS 40%, 40%, 20%, RESPECTIVELY.
Texts
CAY S. HORSTMANN, GARY CORNELL, “JAVA 2 – FONDAMENTI”, MCGRAW-HILL.

CAY S. HORSTMANN, GARY CORNELL, “JAVA 2 – TECNICHE AVANZATE”, MCGRAW-HILL.
More Information
.
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2016-09-30]