PROGRAMMING I

Fabio Narducci PROGRAMMING I

0512100005
DIPARTIMENTO DI INFORMATICA
EQF6
COMPUTER SCIENCE
2020/2021

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
1.FUNDAMENTALS OF PROGRAMMING 1H LECTURE
2.ALGORITHMS AND PROGRAMS 1H LECTURE
3.DESIGN A SOLUTION BY USING A STEPWISE REFINEMENT AND DIVIDE ET IMPERA APPROACH 1H LECTURE
4.ABSTRACT SYNTACTIC AND SEMANTIC DEFINITION, PRECONDITIONS, POSTCONDITIONS 1H LECTURE
5.PROBLEM SOLVING, DIVIDE ET IMPERA 2H LECTURE
6.EDITING AND COMPILING A SOURCE PROGRAM 2H LECTURE + 1H LAB
7.STANDARD LIBRARY 2H LECTURE + 1H LAB
8.FORMATTED INPUT/OUTPUT 2H LECTURE + 1H LAB
9.EXPRESSIONS, SELECTION INSTRUCTIONS 2H LECTURE + 2H LAB
10.LOOPS 2H LECTURE + 2H LAB
11.ELEMENTARY DATA TYPES 2H LECTURE + 2H LAB
12.ONE-DIMENSIONAL AND MULTIDIMENSIONAL ARRAY, FILE 6H LECTURE + 3H LAB
13.DECOMPOSITION TOP DOWN, FUNCTIONS 2H LECTURE + 1H LAB
14.PROGRAM ORGANIZATION: SCOPE OF VARIABLES 2H LECTURE + 1H LAB
15.STACK AND ACTIVATION RECORD 2H LECTURE + 1H LAB
16.POINTERS 6H LECTURE + 4H LAB
17.DYNAMIC STORAGE ALLOCATION/DEALLOCATION 5H LECTURE + 2H LAB
18.STRINGS, STRUCTURES (ELEMENTS OF) 5H LECTURE + 2H LAB
19.INTRODUCTION TO RECURSION 2H LECTURE + 1H LAB
Teaching Methods
THE COURSE REQUIRES 72 HOURS OF TEACHING BETWEEN LESSONS AND LABORATORY EXERCISES: 48 HOURS OF LESSONS IN THE CLASSROOM (6 ECTS) AND 24 HOURS OF GUIDED EXERCISES IN THE LABORATORY (3 ECTS).
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 HAS A DURATION OF AT LEAST 60 MINUTES.

THE EXAM IS PASSED IF THE SCORE IS AT LEAST 18/30 , CORRESPONDING TO DEMONSTRATE TO HAVE CAPACITY TO IDENTIFY THE OPPORTUNITY ALGORITHMIC STRUCTURE OF THE RESOLUTION OF THE PROBLEM AND TO KNOW AT LEAST ADEQUATELY SETTING THE RELEVANT CODIFICATION IN LANGUAGE C. THE REACHING OF THE MAXIMUM SCORING, I.E. 30/30, IS OBTAINED WITH CORRECT AND COMPLETE DEVELOPMENT OF AN EFFECTIVE SOLUTION.

THE ORAL TEST CONSISTS IN AN INTERVIEW WITH QUESTIONS AND DISCUSSION ON THE THEORETICAL AND METHODOLOGICAL CONTENT INCLUDED IN THE SYLLABUS. IT IS AIMED TO VERIFY: 1. THE LEVEL OF KNOWLEDGE AND UNDERSTANDING ACHIEVED BY THE STUDENT; 2. THE EXPOSURE CAPABILITIES USING AN APPROPRIATE SCIENTIFIC TERMINOLOGY; 3. THE ABILITY OF AUTONOMOUS ORGANIZATION OF THE EXPOSURE ON THE SAME ARGUMENTS WITH THEORETICAL CONTENT. BOTH TESTS (WRITTEN OR PRACTICE AND ORAL) WILL IMPACT WITH EQUAL WEIGHT ON THE FINAL EVALUATION OF THE STUDENT.
DURING THE COURSE 2 TESTS IN ITINERE ARE SCHEDULED: A HALF COURSE TEST AND A FINAL ONE. BOTH ARE PERFORMED WITH THE SAME METHODS, OBJECTIVES AND EVALUATION OF THE WRITTEN OR PRACTICAL TEST. THE TEST IS PASSED IF THE WEIGHTED SUM OF THE 2 TEST SCORES IS GREATER THAN 18/30.
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: 2022-05-23]