FOUNDATIONS OF COMPUTER SCIENCE

Francesco COLACE FOUNDATIONS OF COMPUTER SCIENCE

0612400005
DEPARTMENT OF INDUSTRIAL ENGINEERING
EQF6
ELECTRONIC ENGINEERING
2024/2025

OBBLIGATORIO
YEAR OF COURSE 1
YEAR OF DIDACTIC SYSTEM 2018
AUTUMN SEMESTER
CFUHOURSACTIVITY
990LESSONS
Objectives
THE COURSE AIMS TO LEARN THE BASIC CONCEPTS OF COMPUTER SCIENCE BY PUTTING THEM INTO CONTEXT FROM BOTH AN ARCHITECTURAL AND A SOFTWARE PERSPECTIVE.
THE EDUCATIONAL OBJECTIVES OF THE COURSE CONSIST OF ACQUIRING THE BASIC SKILLS OF COMPUTER SCIENCE AND ITS MAIN METHODOLOGIES. THE STUDENT MUST ALSO ACQUIRE THE ABILITY TO DESIGN ALGORITHMS FOR SOLVING PROBLEMS AND THEN TRANSLATE THEM INTO A PROGRAMMING LANGUAGE.

KNOWLEDGE AND UNDERSTANDING OF THE FOLLOWING TOPICS:
- BASIC KNOWLEDGE OF THE MAIN ARCHITECTURAL MODELS OF ELECTRONIC COMPUTERS, THEIR FUNCTIONAL STRUCTURE AND GENERAL OPERATING PRINCIPLES.
- PRINCIPLES AND METHODOLOGIES UNDERLYING THE DESIGN AND SYNTHESIS OF COMBINATORIAL MACHINES. FOR THIS PURPOSE, SOFTWARE SIMULATORS WILL BE USED TO ENABLE THE SYNTHESIS OF SIMPLE COMBINATORIAL MACHINES.
- DESIGN AND IMPLEMENTATION OF ALGORITHMS TO BE IMPLEMENTED USING THE C LANGUAGE. THIS LANGUAGE, WHICH STUDENTS WILL USE IN THE COURSES OF THE FOLLOWING YEARS, WILL ENABLE THEM TO BETTER UNDERSTAND THE CLOSE RELATIONSHIP BETWEEN THE HARDWARE AND SOFTWARE COMPONENTS OF AN ELECTRONIC COMPUTER.
- MIPS ASSEMBLY: A LOW-LEVEL PROGRAMMING LANGUAGE THAT ALLOWS A BETTER UNDERSTANDING OF THE PECULIARITIES OF MACHINE-LEVEL PROGRAMMING

ABILITY TO APPLY THE KNOWLEDGE ACQUIRED:
THE STUDENT IS REQUIRED TO HAVE THE ABILITY TO CARRY OUT
- THE DESIGN AND SYNTHESIS OF COMBINATORIAL MACHINES
- THE DESIGN OF ALGORITHMS AND THEIR IMPLEMENTATION USING THE C LANGUAGE.

AUTONOMY OF JUDGEMENT.
THE STUDENT WILL BE ABLE TO EVALUATE AUTONOMOUSLY WHICH ARE THE POSSIBLE
SOLUTION APPROACHES TO THE QUESTIONS PROPOSED IN THE CLASSROOM AND/OR AUTONOMOUSLY SELECTED,
AND WILL BE ABLE TO IDENTIFY THE BEST POSSIBLE CHOICE FROM THEM.
POSSIBLE.

COMMUNICATION SKILLS.
THE STUDENT WILL BE ABLE TO PRESENT IN A CLEAR, RIGOROUS AND ABOVE ALL CRITICAL MANNER
CRITICALLY TOPICS RELATED TO THE BASIC PRINCIPLES OF COMPUTER SCIENCE, ALGORITHM DESIGN AND IMPLEMENTATION THROUGH THE USE OF THE C

Learning ability
The course aims to develop students' learning ability which allows them to continuously update their knowledge and skills independently, to apply the methodologies acquired in areas other than those investigated during the course, using sources of information other than the adopted textbooks.
Prerequisites
SINCE THIS IS THE FIRST COMPUTER SCIENCE COURSE IN THE STUDENTS' COURSE OF STUDY, NO ENTRANCE PREREQUISITE IS PROVIDED.
Contents
THE ARTICULATION OF THE COURSE IS THE FOLLOWING

- INTRODUCTION TO THE CONCEPT OF INFORMATION (2 HOURS OF THEORETICAL LESSONS)
- ANALOGUE AND DIGITAL INFORMATION (2 HOURS OF THEORETICAL LESSONS)
- INFORMATION MANAGEMENT AND DIGITAL REPRESENTATION (2 HOURS OF THEORETICAL LESSONS - 4 HOURS OF ASSISTED TRAINING)
- INFORMATION PROCESSING SYSTEMS (2 HOURS OF THEORETICAL LESSONS)
- BASIC PRINCIPLES OF BOOLEAN ALGEBRA (4 HOURS OF THEORETICAL LESSONS - 4 HOURS OF ASSISTED TRAINING - 6 HOURS OF LABORATORY ACTIVITY)
- COMBINATORY MACHINES: DESIGN AND SYNTHESIS (4 HOURS OF THEORETICAL LESSONS - 4 HOURS OF ASSISTED TRAINING- 6 HOURS OF LABORATORY ACTIVITY)
- THE CONCEPT OF ALGORITHM AND METHODOLOGIES FOR THEIR DESIGN (4 HOURS OF THEORETICAL LESSONS - 6 HOURS OF ASSISTED TRAINING - 6 HOURS OF LABORATORY ACTIVITY)
- PROGRAMMING LANGUAGES (2 HOURS OF THEORETICAL LESSONS)
- LANGUAGE C AND ITS MAIN FUNCTIONAL CHARACTERISTICS (4 HOURS OF THEORETICAL LESSONS - 6 HOURS OF ASSISTED TRAINING - 6 HOURS OF LABORATORY ACTIVITY)
- DESIGN AND IMPLEMENTATION OF ALGORITHMS IN LANGUAGE C (4 HOURS OF THEORETICAL - 3 HOURS OF ASSISTED TRAINING - 3 HOURS OF LABORATORY ACTIVITY)
- MIPS ASSEMBLY (2 HOURS OF THEORETICAL - 2 HOURS OF ASSISTED TRAINING - 2 HOURS OF LABORATORY ACTIVITY)
Teaching Methods
THE COURSE IS SO ORGANIZED:

THEORETICAL LESSONS: 32 HOURS

ASSISTED EXERCISES: 29 HOURS

DURING THE ASSISTED EXERCISES STUDENTS WILL DEVELOP, INDEPENDENTLY OR IN SMALL GROUPS, EXERCISES ON THE THEORETICAL TOPICS PREVIOUSLY INTRODUCED.

LABORATORY ACTIVITIES: 29 HOURS.

DURING THE LABORATORY ACTIVITIES STUDENTS WILL DEVELOP, THROUGH A PROBLEM SOLVING APPROACH, EXERCISES OR PROJECT WORKS
Verification of learning
THE REACHING OF THE TRAINING OBJECTIVES SET BY THE TEACHING DEPARTMENT IS CERTIFIED BY THE PASSING OF AN EXAMINATION WITH EVALUATION EXPRESSED IN THIRTY (THE MINIMUM LEVEL TO BE ACQUIRED FOR PASSING CORRESPONDS TO "18" AND THE MAXIMUM LEVEL TO "30 AND HONOR"). THE EXAMINATION PROVIDES A WRITTEN TEST OF INDICATIVE DURATION OF TWO HOURS AND AN ORAL TEST, OF INDICATIVE AVERAGE DURATION OF 30 MINUTES.
BOTH TESTS ARE AIMED AT:

1) TO CHECK THE LEARNING OF THE TOPICS COVERED IN THEORETICAL LESSONS;
2) VERIFY THE ABILITY TO EXPOUND ON THE TOPICS COVERED;
3) TO VERIFY THE AUTONOMY OF JUDGMENT IN PROPOSING 'THE MOST APPROPRIATE APPROACH TO ARGUE WHAT IS REQUIRED.
4) TO ASCERTAIN THE STUDENT'S ABILITY TO IDENTIFY STRATEGIES FOR SOLVING COMPLEX PROBLEMS
5) TO ASCERTAIN THE LEARNER'S ABILITY TO TRANSFORM WHAT WAS DESIGNED INTO SOFTWARE ARTIFACTS

IN MORE DETAIL, THE ORAL TEST WILL INVOLVE THREE QUESTIONS: THE FIRST CONCERNING THE WRITTEN TEST AND ITS SOLUTION STRATEGY (ALGORITHM IDENTIFIED,
PROPOSED IMPLEMENTATION, EFFICIENCY OF THE PROPOSED SOLVING SOLUTION, DESIGN OF COMBINATORIAL MACHINES AND THEIR SYNTHESIS), THE SECOND AND THIRD WILL COVER THE TOPICS
COVERED DURING THE LECTURES (EXAMPLE: ARCHITECTURE OF ELECTRONIC COMPUTERS, COMBINATORIAL MACHINES, C LANGUAGE, AND ITS FEATURES).

IN ORDER TO PASS THE EXAM, IT IS NECESSARY TO ACHIEVE SUFFICIENCY IN BOTH THE TEST OF LEARNING OF THE TOPICS COVERED IN THE THEORY HOURS AND THE WRITTEN TEST.

THE STUDENT ACHIEVES THE LEVEL OF EXCELLENCE IF HE/SHE DEMONSTRATES THE ABILITY TO MAKE CONNECTIONS BETWEEN THE THEORETICAL TOPICS COVERED AND DEMONSTRATES FULL MASTERY OF THE ACTIVITIES CARRIED OUT FOR THE DEVELOPMENT OF THE WRITTEN TEST.
Texts
IL LINGUAGGIO C. FONDAMENTI E TECNICHE DI PROGRAMMAZIONE. EDIZ. MYLAB. DI PAUL J. DEITEL (AUTORE), HARVEY M. DEITEL (AUTORE), G. MASELLI (TRADUTTORE) - PEARSON

LINGUAGGIO C DI ALESSANDRO BELLINI (AUTORE) ANDREA GUIDI (AUTORE)
MCGRAW-HILL EDUCATION

BRIAN W. KERNIGHAN, DENNIS M. RITCHIE - IL LINGUAGGIO C. PRINCIPI DI PROGRAMMAZIONE E MANUALE DI RIFERIMENTO - PEARSON PRENTICE HALL

LUCIDI E APPUNTI FORNITI DAL DOCENTE
More Information
THE COURSE WILL BE TAUGHT IN ITALIAN LANGUAGE
Lessons Timetable

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