LABORATORY OF INFORMATICS

Gianluca DE MARCO LABORATORY OF INFORMATICS

FS12600015
DEPARTMENT OF PHYSICS "E. R. CAIANIELLO"
EQF6
PHYSICS
2025/2026

OBBLIGATORIO
YEAR OF COURSE 1
YEAR OF DIDACTIC SYSTEM 2025
AUTUMN SEMESTER
CFUHOURSACTIVITY
324LESSONS
336LAB
Objectives
THE COURSE PROVIDES THE FIRST NOTIONS OF COMPUTER SCIENCE AND THE BASIC KNOWLEDGE TO WRITE SMALL PROGRAMS IN C.

KNOWLEDGE AND UNDERSTANDING.
THE STUDENT ACQUIRES:
- BASIC KNOWLEDGE OF THE SCRUCTURE OF A MODERN COMPUTER, BOTH IN TERMS OF ARCHITECTURE AND SOFTWARE.
- ADEQUATE KNOWLEDGE OF THE PRINCIPLES OF COMPUTER PROGRAMMING ALSO IN VIEW OF POSSIBLE APPLICATIONS TO PHYSICS.
- KNOWLEDGE OF THE BASIC SINTAX OF THE C PROGRAMMING LANGUAGE.

APPLYING KNOWLEDGE AND UNDERSTANDING.
THE STUDENT ACQUIRES:
- CAPACITY OF DESIGNING SIMPLE ALGORITHMS.
- CAPACITY OF IMPLEMENTING AN ALGORITHM IN THE C LANGUAGE.
- CAPACITY OF USING COMPUTER PROGRAMMING FOR PROCESS SIMULATION.
MAKING JUDGEMENTS
- THE STUDENT WILL BE ABLE TO IDENTIFY THE MOST ADEQUATE AND EFFICIENT ALGORITHMIC SOLUTION TO A PROBLEM.

COMMUNICATION SKILLS
- THE STUDENT WILL BE ABLE TO DESCRIBE RIGOROUSLY, WITH THE PROPER TECHNICAL TERMINOLOGY, THE ELEMENTARY STEPS THAT FROM THE ALGORITHMIC IDEA LEAD TO THE IMPLEMENTATION AND THE COMPILATION OF A COMPUTER PROGRAM.

LEARNING SKILLS
- THE STUDENT WILL BE ABLE TO PROCEED AUTONOMOUSLY IN THE STUDY OF THE MOST ADVANCED TOPICS IN COMPUTER PROGRAMMING AND THEORY OF ALGORITHMS.
Prerequisites
NONE (THE COURSE IS FOR FIRST-YEAR PHYSICS STUDENTS).
Contents
- NOTIONS ON COMPUTER ARCHITECTURE (LECTURE: 2H / LABORATORY: 0H)
THE VON NEWMANN COMPUTER. INSTRUCTION SET. CLOCK CYCLE. MEMORY READING AND WRITING.

- FOUNDATIONS OF COMPUTER PROGRAMMING AND PROGRAM COMPILATION (LECTURE: 2H / LABORATORY: 3H)
WRITING A SIMPLE PROGRAM. VARIABLES AND ASSIGNMENT. READING INPUT. DEFINING NAMES FOR CONSTANTS. PREPROCESSING. COMPILING. LINKING.

- FORMATTED INPUT/OUTPUT (LECTURE: 2H / LABORATORY: 2H)
THE PRINTF FUNCTION. CONVERSION SPECIFICATIONS. THE SCANF FUNCTION.

- EXPRESSIONS (LECTURE: 3H / LABORATORY: 2H)
ARITHMETIC OPERATORS AND ASSIGNMENT OPERATORS. COMPOSITE ASSIGNMENT; INCREMENT AND DECREMENT OPERATORS; EXPRESSION EVALUATION.

- CONDITIONAL STATEMENTS (LECTURE: 2H / LABORATORY: 2H)
LOGICAL EXPRESSIONS. THE IF STATEMENT. THE ELSE CLAUSE. THE SWITCH STATEMENT.

- LOOPS (LECTURE: 2H / LABORATORY: 2H)
WHILE, DO-WHILE AND FOR INSTRUCTIONS. EXITING FROM A LOOP: BREAK, CONTINUE AND GOTO STATEMENTS.

- BASIC DATA TYPES (LECTURE: 4H / LABORATORY: 2H)
INTEGER TYPES. FLOATING TYPES. CHARACTER TYPES. READING AND WRITING CHARACTERS USING GETCHAR AND PUTCHAR. IMPLICIT AND EXPLICIT (CAST) TYPE CONVERSIONS.

- ARRAYS (LECTURE: 4H / LABORATORY: 2H)
ONE-DIMENSIONAL ARRAYS. MULTI-DIMENSIONAL ARRAYS.

- FUNCTIONS, PROGRAMS AND ALGORITHMS (LECTURE: 6H / LABORATORY: 3H)
DEFINING AND CALLING FUNCTIONS. ARGUMENTS. THE RETURN STATEMENT. PROGRAM TERMINATION. RECURSION. LOCAL AND EXTERNAL VARIABLES. FROM THE ALGORITHM TO THE PROGRAM. EXAMPLE OF A SORTING ALGORITHM. ELEMENTARY NOTIONS OF COMPLEXITY.

- POINTERS (LECTURE: 5H / LABORATORY: 3H)
POINTER VARIABLES. POINTER ASSIGNMENT. POINTERS AS ARGUMENTS. POINTER ARITHMETIC. USING POINTERS FOR ARRAY PROCESSING. USING THE ARRAY NAME AS A POINTER. POINTERS AND MULTI-DIMENSIONAL ARRAYS.

- STRINGS (LECTURE: 4H / LABORATORY: 3H)
STRING LITERALS. STRING VARIABLES. READING AND WRITING STRINGS. ACCESSING THE CHARACTERS IN A STRING. THE C STRING LIBRARY. STRING IDIOMS. ARRAYS OF STRINGS AND
COMMAND LINE ARGUMENTS.
Teaching Methods
THE COURSE INCLUDES 36 HOURS OF LECTURES AND 24 HOURS OF LABORATORY SESSIONS. EACH TOPIC IS FIRST INTRODUCED DURING THE LECTURES AND THEN FURTHER DEVELOPED THROUGH PRACTICAL EXERCISES IN THE LABORATORY. THE LAB SESSIONS ALSO INVOLVE THE DEVELOPMENT OF PROGRAMMING PROJECTS UNDER THE INSTRUCTOR’S SUPERVISION.
ATTENDANCE IN THE LABORATORY SESSIONS IS MANDATORY: IN ORDER TO TAKE THE FINAL ASSESSMENT AND EARN THE CORRESPONDING COURSE CREDITS, STUDENTS MUST HAVE ATTENDED AT LEAST 75% OF THE SCHEDULED ASSISTED LEARNING HOURS REQUIRED TO COMPLETE THE COURSE PROGRAM.
ALTHOUGH ATTENDANCE IN THE LECTURES IS NOT MANDATORY, IT IS STRONGLY RECOMMENDED IN ORDER TO GAIN THE MAXIMUM BENEFIT FROM THE COURSE CONTENT AND IN-CLASS ACTIVITIES.
Verification of learning
THE FINAL ASSESSMENT CONSISTS OF A WRITTEN EXAM (ON PAPER) AND A LABORATORY EXAM (ON COMPUTER). BOTH EXAMS ARE HELD AT THE END OF THE COURSE, ACCORDING TO THE SCHEDULE ESTABLISHED BY THE DEGREE PROGRAM COMMITTEE. THE WRITTEN EXAM LASTS 30 MINUTES, WHILE THE LABORATORY EXAM LASTS 2 HOURS.

ACCESS TO THE LABORATORY EXAM IS GRANTED ONLY AFTER PASSING THE WRITTEN EXAM, WITH A MINIMUM SCORE OF 18/30.

THE WRITTEN EXAM AIMS TO PROVIDE AN INITIAL ASSESSMENT OF THE STUDENT’S UNDERSTANDING OF THE BASIC PRINCIPLES OF COMPUTER SCIENCE AND C PROGRAMMING. IN PARTICULAR, STUDENTS ARE REQUIRED TO DEMONSTRATE THE ABILITY TO UNDERSTAND C CODE, IDENTIFY POTENTIAL ERRORS, AND PROPOSE APPROPRIATE CORRECTIONS. THE EVALUATION TAKES INTO ACCOUNT THE ACCURACY, COMPLETENESS, AND CLARITY OF THE ANSWERS.

THE LABORATORY EXAM IS DESIGNED TO ASSESS THE STUDENT’S ABILITY TO INDEPENDENTLY WRITE A PROGRAM TO SOLVE A GIVEN PROBLEM. THE EXAM INVOLVES THE DEVELOPMENT, COMPILATION, EXECUTION, AND TESTING OF THE PROGRAM TO VERIFY ITS CORRECTNESS. EVALUATION IS BASED ON THE CORRECTNESS OF THE CODE, ITS LOGICAL CLARITY, AND OVERALL EFFICIENCY.

THE FINAL GRADE IS CALCULATED AS THE ARITHMETIC MEAN OF THE SCORES OBTAINED IN THE TWO EXAMS.

THE MINIMUM GRADE (18/30) IS ASSIGNED TO STUDENTS WHO DEMONSTRATE ONLY A BASIC UNDERSTANDING OF THE FUNDAMENTAL PRINCIPLES OF PROGRAMMING AND SHOW SIGNIFICANT UNCERTAINTY IN THEIR APPLICATION. THE MAXIMUM GRADE (30/30) IS AWARDED TO STUDENTS WITH A SOLID UNDERSTANDING OF COMPUTER SCIENCE AND PROGRAMMING PRINCIPLES, AND WHO CAN PRODUCE CLEAR AND CONCISE CODE. THE HONORS DISTINCTION (CUM LAUDE) IS RESERVED FOR STUDENTS WHO DEMONSTRATE EXCELLENT THEORETICAL MASTERY AND THE ABILITY TO DEVELOP PARTICULARLY ELEGANT AND EFFICIENT SOLUTIONS.
Texts
TITLE: C PROGRAMMING: A MODERN APPROACH
AUTHOR: K. N. KING
PUBLISHER: W. W. NORTON & COMPANY, SECOND EDITION, 2008.

TITLE: THE C PROGRAMMING LANGUAGE.
AUTHORS: BRIAN W. KERNIGHAN, DENNIS M. RITCHIE.
PUBLISHER: PRENTICE HALL; 2 EDITION.
More Information
TEACHER'S E-MAIL ADDRESS: GIDEMARCO@UNISA.IT
Lessons Timetable

  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2025-09-14]