PROGRAMMING I

Fabio Narducci PROGRAMMING I

0512100005
COMPUTER SCIENCE
EQF6
COMPUTER SCIENCE
2024/2025

OBBLIGATORIO
YEAR OF COURSE 1
YEAR OF DIDACTIC SYSTEM 2017
AUTUMN SEMESTER
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
THE COURSE WILL TREAT THE FOLLOWING TOPICS:
1. FUNDAMENTALS OF PROGRAMMING; 1H LECTURE
2. CONCEPTS OF ALGORITHM AND PROGRAM; 1H LECTURE
3. PROBLEM ANALYSIS; 1H LECTURE
4. CONCEPTS OF SPECIFICATION, PRECONDITION, POSTCONDITION; 1H LECTURE
5. SOLUTION DESIGN THROUGH SUCCESSIVE REFINEMENTS AND DIVIDE AND CONQUER; 2H LECTURE
6. COMPILATION AND LOADING OF PROGRAMS; 2H LECTURE + 1H LAB
7. USE OF STANDARD LIBRARIES; 2H LECTURE + 1H LAB
8. INPUT/OUTPUT; EXPRESSIONS; 2H LECTURE + 1H LAB
9. CONDITIONAL INSTRUCTIONS; 2H LECTURE + 2H LAB
10. LOOPS; 4H LECTURE + 2H LAB
11. DATA TYPES; 2H LECTURE + 2H LAB
12. ARRAYS; 4H LECTURE + 2H LAB
13. TOP-DOWN DECOMPOSITION AND DEFINITION OF PERSONAL FUNCTIONS; 2H LECTURE + 1H LAB
14. DURATION AND VISIBILITY OF VARIABLES; 2H LECTURE + 1H LAB
15. POINTERS; 6H LECTURE + 4H LAB
16. MEMORY ALLOCATION AND DEALLOCATION; 5H LECTURE + 2H LAB
17. STRINGS; STRUCTURES; 5H LECTURE + 2H LAB
18. FILES; 4H LECTURE + 3H 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.
Lessons Timetable

  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2024-11-18]