Fabio Narducci | PROGRAMMING I
Fabio Narducci PROGRAMMING I
cod. 0512100005
PROGRAMMING I
0512100005 | |
COMPUTER SCIENCE | |
EQF6 | |
COMPUTER SCIENCE | |
2024/2025 |
OBBLIGATORIO | |
YEAR OF COURSE 1 | |
YEAR OF DIDACTIC SYSTEM 2017 | |
AUTUMN SEMESTER |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
INF/01 | 6 | 48 | LESSONS | |
INF/01 | 3 | 24 | LAB |
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. |
BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2024-11-18]