PROGRAMMING I

Michele NAPPI PROGRAMMING I

0512100005
DIPARTIMENTO DI INFORMATICA
EQF6
COMPUTER SCIENCE
2017/2018

OBBLIGATORIO
YEAR OF COURSE 1
YEAR OF DIDACTIC SYSTEM 2017
PRIMO SEMESTRE
CFUHOURSACTIVITY
648LESSONS
324LAB


Objectives
KNOWLEDGE AND UNDERSTANDING
KNOWLEDGE OF THE LANGUAGE CONSTRUCTS OF PROCEDURAL HIGH-LEVEL PROGRAMMING TO SOLVING SMALL PROBLEMS. KNOWLEDGE OF THE BASIC PRINCIPLES OF STRUCTURED AND MODULAR PROGRAMMING. KNOWLEDGE OF THE PRINCIPLES AND INSTRUMENTS TO TRANSLATE PROGRAMMS WRITTEN IN HIGH LEVEL LANGUAGE IN MACHINE LANGUAGE. KNOWLEDGE OF THE MAIN ALGORITHMIC SCHEMES FOR SCANNING OF LINEAR STRUCTURES USING ARRAY AND FILE.

APPLYING KNOWLEDGE AND UNDERSTANDING
ABILITY TO USE THEORETICAL KNOWLEDGE IN THE CONCEPTION, DESIGN, CODING, COMPILATION, EXECUTION AND VERIFICATION OF SIMPLE PROGRAMMING PROJECTS FOR SMALL PROBLEMS.
Prerequisites
NO PREREQUISITE (FIRST YEAR COURSE).
Contents
•FUNDAMENTALS OF PROGRAMMING
OALGORITHMS AND PROGRAMS
ODESIGN A SOLUTION BY USING A STEPWISE REFINEMENT AND DIVIDE ET IMPERA APPROACH
OABSTRACT SYNTACTIC AND SEMANTIC DEFINITION, PRECONDITIONS, POSTCONDITIONS
OEDITING AND COMPILING A SOURCE PROGRAM
•FORMATTED INPUT/OUTPUT
•EXPRESSIONS
•SELECTION INSTRUCTIONS
•LOOPS
•ELEMENTARY DATA TYPES
•ONE-DIMENSIONAL AND MULTIDIMENSIONAL ARRAY
•FUNCTIONS
•PROGRAM ORGANIZATION: SCOPE OF VARIABLES; STACK AND ACTIVATION RECORD
•POINTERS
•DYNAMIC STORAGE ALLOCATION/DEALLOCATION
•STRINGS
•STRUCTURES (ELEMENTS OF)
•INPUT/OUTPUT; FILE OPERATIONS
•INTRODUCTION TO RECURSION
Teaching Methods
THE COURSE REQUIRES 78 HOURS OF TEACHING BETWEEN LESSONS AND LABORATORY EXERCISES: 48 HOURS OF LESSONS IN THE CLASSROOM (6 CFU) AND 30 HOURS OF GUIDED EXERCISES IN THE LABORATORY (3 CFU).
THE LABORATORY EXERCISES WILL BE ENHANCED BY CASE STUDIES WITH PROGRAMS DEVELOPED IN THE CLASSROOM WITH THE HELP OF THE TEACHER, WHO WILL SUGGEST ADDITIONAL EXERCISES ON WHICH STUDENTS MAY APPLY WITH INDIVIDUAL STUDY.
THE FREQUENCY OF CLASSROOM LECTURES AND LABORATORY EXERCISES, WHILE NOT REQUIRED, IS STRONGLY RECOMMENDED IN ORDER TO OBTAIN FULL ACHIEVEMENT OF THE LEARNING OBJECTIVES.
Verification of learning
THE ACHIEVEMENT OF THE OBJECTIVES OF TEACHING IS CERTIFIED BY PASSING AN EXAMINATION WITH AN ASSESSMENT OUT OF THIRTY. THE EXAM INCLUDES A PRACTICAL TEST AND AN ORAL TEST.
THE PRACTICAL TEST IS USED TO ASSESS THE CURRENT ABILITY OF THE STUDENT TO APPLY THE KNOWLEDGE ACQUIRED AND DEMONSTRATE COMPREHENSION SKILLS IN DEALING WITH A PRACTICAL PROBLEM IN PROGRAMMING, DESIGN AN ALGORITHMIC SOLUTION AND WRITE THE PROGRAM THAT SOLVES IT. THE PRACTICAL TEST IS PREPARATORY TO THE ORAL EXAMINATION, AND REQUIRES THE ACHIEVEMENT OF PREDETERMINED MINIMUM SCORE.
THE ORAL TEST IS USED TO ASSESS THE DEGREE OF ATTAINMENT OF THE LEARNING OBJECTIVES, PARTICULARLY REGARDING THE LEVEL OF KNOWLEDGE AND UNDERSTANDING AND COMMUNICATION ACHIEVED BY THE STUDENT.
Texts
TEACHING MATERIALS, TEACHER HANDOUTS, SAMPLE EXERCISES AND FURTHER SUPPLEMENTARY TEACHING MATERIALS, ARE AVAILABLE ONLINE FOR STUDENTS. FOR INDIVIDUAL STUDY, THE STUDENT MUST REFER TO AT LEAST ONE OF THE SUGGESTED TEXTS BELOW.

•THE ART AND SCIENCE OF C, E.S. ROBERTS, ADDISON-WESLEY, 1995, ISBN: 978-0201543223
•C PROGRAMMING: A MODERN APPROACH, K.N. KING W.W. NORTON & COMPANY, SECONDA EDIZIONE, 2008. ISBN-10: 0393979504 ISBN-13: 978-0393979503
•PAUL J. DEITEL, HARVEY M. DEITEL, C. CORSO COMPLETO DI PROGRAMMAZIONE. APOGEO, 2010 ISBN-10: 8850329547 ISBN-13: 978-8850329540
More Information
CONDUCTING TIMELY SUGGESTED EXERCISES BY THE TEACHER IS USUALLY THE BEST WAY FOR THE STUDENT TO PREPARE FOR THE EXAM.
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2019-05-14]