FOUNDATIONS OF INFORMATICS AND LABORATORY

Matematica FOUNDATIONS OF INFORMATICS AND LABORATORY

0512300003
DIPARTIMENTO DI MATEMATICA
EQF6
MATHEMATICS
2021/2022

OBBLIGATORIO
YEAR OF COURSE 2
YEAR OF DIDACTIC SYSTEM 2018
AUTUMN SEMESTER
CFUHOURSACTIVITY
648LESSONS
Objectives
TRAINING GOALS:
PROVIDE A GENERAL OVERVIEW OF DIGITAL SYSTEMS AND KEY IDEAS OF THE DIGITAL WORLD. DESCRIBE THE BASIC ELEMENTS OF THE C PROGRAM LANGUAGE, OF ITS STRUCTURES AND CONSTRUCTS


EXPECTED LEARNING RESULTS:
KNOWLEDGE AND UNDERSTANDING
- KNOWLEDGE OF THE BASIC CONCEPTS OF REPRESENTATION AND PROCESSING OF DIGITAL DATA
- KNOWLEDGE OF THE LOGIC ORGANIZATION OF A COMPUTING SYSTEM AND OF ITS MAIN HW AND SW COMPONENTS
- KNOWLEDGE OF THE BASIC CONCEPTS OF THE PROGRAMMING LANGUAGES AND OF THEIR USE CONTEXTS
- KNOWLEDGE OF THE DIFFERENT TYPES OF APPLICATIVE SOFTWARE: SO, NETWORK SOFTWARE
- KNOWLEDGE OF THE ELEMENTARY DATA TYPES IN C
- KNOWLEDGE OF THE JUMP, CONDITIONAL CHOICE AND LOOP INSTRUCTIONS
- KNOWLEDGE OF THE FUNCTIONS AND OF A MODULAR ORGANIZATION OF A PROGRAM
- KNOWLEDGE OF MONO AND MULTIDIMENSIONAL ARRAYS
- KNOWLEDGE OF STRINGS AND STRING FUNCTIONS
- KNOWLEDGE OF STRUCTURES
- KNOWLEDGE OF BASIC USES OF FILES

APPLYING KNOWLEDGE AND UNDERSTANDING

- SKILLS FOR OPERATING IN A COMFORTABLE WAY WITH SYSTEM AND SOFTWARE APPLICATIONS
- SKILLS FOR REPRESENTING WITH THE LANGUAGE CONSTRUCTS PROBLEMS AND FOR PROPOSING SOLUTIONS THROUGH SIMPLE C PROGRAMS
- EXPERTISE IN ANALYZING C CODE, IN EVALUATING ITS PROPERTIES AND IN REUSING IT IF NEEDED
- SKILLS IN REALIZING SMALL APPLICATIONS

AUTONOMY OF JUDGMENT

THE STUDENT WILL BE ABLE TO EVALUATE AUTONOMOUSLY
- CORRECTNESS, EFFICIENCY AND EFFICACY OF C PROGRAMS
Prerequisites
NONE
Contents
- COMPUTER STRUCTURE: COMPONENTS
- OPERATING SYSTEMS: FUNCTIONS AND STRUCTURES
- LINUX: FEW ELEMENTS OF THE SHELL AND THE BASIC TOOLS
- EDITING AND COMPILING A SOURCE PROGRAM
- C FUNDAMENTALS
- FORMATTED INPUT/OUTPUT
- EXPRESSIONS
- SELECTION INSTRUCTIONS
- LOOPS
- ELEMENTARY DATA TYPES
- UNIDIMENSIONAL AND MULTIDIMENSIONAL ARRAYS
- FUNCTIONS
- PROGRAM ORGANIZATION
- POINTERS AND ARRAYS
- STRINGS
- STRUCTURES (ELEMENTS OF)
- FILES (ELEMENTS OF)
Teaching Methods
THE COURSE IS ORGANIZED IN CLASS LECTURES, IN WHICH ARE DESCRIBED BASIC COMPUTER SCIENCE CONCEPTS, THE DATA STRUCTURES, AND THE CONSTRUCTS PROVIDED BY THE C PROGRAM LANGUAGE (36H), AND LAB SESSIONS (12H), IN WHICH CASE STUDIES AND SIMPLE PROBLEMS WILL BE ANALIZED AND SOLVED
Verification of learning
THE FINAL EXAM AIMS AT EVALUATING UNDERSTANDING AND KNOWLEDGE ACQUIRED BY THE STUDENT IN CLASS. AS WELL AS, THE ABILITY TO APPLY SUCH KNOWLEDGE IN THE DESIGN OF SMALL APPLICATIONS.
THE FINAL EXAM IS DIVIDED INTO A LAB EXAM AND AN ORAL EXAM. THE LAB EXAM TESTS THE STUDENT ABILITY IN USING THE ABSTRACT NOTIONS TO SOLVE A TARGET PROBLEM. THE ORAL EXAM IS USED TO EVALUATE THE KNOWLEDGE WITH RESPECT TO THE COURSE PROGRAM, AND TO QUANTIFY THE QUALITY, THE ROBUSTNESS AND THE MASTERSHIP OF THE ACQUIRED TECHNIQUES BY THE STUDENT.
THE FINAL SCORE IS EXPRESSED ON A SCALE OF 1 TO 30.
THE LAB EXAM CONTRIBUTES ROUGHLY TO THE 50% OF THE FINAL SCORE WHILE THE ORAL EXAM CONTRIBUTES ROUGHLY TO THE OTHER 50%. NO STRICT ARITHMETIC AVERAGE WILL BE COMPUTED.
A SPECIAL RECOGNITION (THE ITALIAN "LODE") IS ATTRIBUTED TO STUDENTS WHO SHOW THE ABILITY TO APPLY KNOWLEDGE AND SKILLS ACQUIRED IN CLASS ALSO IN SETTINGS REASONABLY DIFFERENT FROM THE CASE STUDIES ANALYZED DURING THE LECTURES.
Texts
C PROGRAMMING. A MODERN APPROACH, KING K.N:, W.W. NORTON & COMPANY, 2ND EDITION

UNDERSTANDING THE DIGITAL WORLD, B. KERNINGHAN, PRINCETON UNIVERSITY PRESS, 2017
More Information
NEWS, ADDITIONAL NOTES AND TEACHING TOOLS WILL BE AVAILABLE THROUGH THE CLASS WEB PAGE, WHICH WOULD BE REACHABLE FROM HTTP://WWW.DI-SRV.UNISA.IT/PROFESSORI/PAODAR/TEACHING.HTML
EMAIL: pdarco@unisa.it
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2022-11-21]