PROGRAMMING I

Computer science PROGRAMMING I

0512100005
DIPARTIMENTO DI INFORMATICA
EQF6
COMPUTER SCIENCE
2018/2019

OBBLIGATORIO
YEAR OF COURSE 1
YEAR OF DIDACTIC SYSTEM 2017
PRIMO SEMESTRE
CFUHOURSACTIVITY
648LESSONS
324LAB


Objectives
KNOWLEDGE AND UNDERSTANDING
MASTERY OF THE SYNTAX OF THE C LANGUAGE AND APPLICATION OF THIS LANGUAGE TO THE SOLUTION OF RELATIVELY SMALL PROBLEMS USING THE BASIC PRINCIPLES OF STRUCTURED AND MODULAR PROGRAMMING.

APPLYING KNOWLEDGE AND UNDERSTANDING
PROBLEM SOLVING ABILITIES APPLIED IN CONCEIVING, DESIGNING AND IMPLEMENTING A SIMPLE PROGRAMMING PROJECT.
Prerequisites
NO PREREQUISITE (FIRST YEAR COURSE).
Contents
FUNDAMENTALS OF PROGRAMMING (1H LESSON)
ALGORITHMS AND PROGRAMS (1H LESSON)
DESIGN A SOLUTION BY USING A STEPWISE REFINEMENT AND DIVIDE ET IMPERA APPROACH (3H LESSON)
ABSTRACT SYNTACTIC AND SEMANTIC DEFINITION, PRECONDITIONS, POSTCONDITIONS (1H LESSON)
EDITING AND COMPILING A SOURCE PROGRAM (2H LESSON, 1H LAB)
FORMATTED INPUT/OUTPUT (2H LESSON, 1H LAB)
STANDARD LIBRARIES (2H LESSON, 1H LAB)
EXPRESSIONS, SELECTION INSTRUCTIONS (2H LESSON, 2H LAB)
LOOPS (2H LESSON, 2H LAB)
ELEMENTARY DATA TYPES (2H LESSON, 2H LAB)
ONE-DIMENSIONAL AND MULTIDIMENSIONAL ARRAY, INPUT/OUTPUT FILE OPERATIONS (6H LESSON, 3H LAB)
FUNCTIONS (2H LESSON, 1H LAB)
PROGRAM ORGANIZATION: SCOPE OF VARIABLES (2H LESSON, 1H LAB)
STACK AND ACTIVATION RECORD (2H LESSON, 1H LAB)
POINTERS (6H LESSON, 4H LAB)
DYNAMIC STORAGE ALLOCATION/DEALLOCATION (5H LESSON, 2H LAB)
STRINGS, STRUCTURES (5H LESSON, 2H LAB)
INTRODUCTION TO RECURSION (2H LESSON, 1H LAB)
Teaching Methods
THE COURSE REQUIRES 78 HOURS OF TEACHING BETWEEN LESSONS AND LABORATORY EXERCISES: 48 HOURS OF LESSONS IN THE CLASSROOM (6 CFU) AND 30 HOURS OF GUIDED EXERCISES IN THE LABORATORY (3 CFU).
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 REQUIRES THE ACHIEVEMENT OF PREDETERMINED MINIMUM SCORE.
THE ORAL TEST IS USED TO ASSESS THE DEGREE OF ATTAINMENT OF THE LEARNING OBJECTIVES, PARTICULARLY REGARDING THE LEVEL OF KNOWLEDGE AND UNDERSTANDING AND COMMUNICATION ACHIEVED BY THE STUDENT.
Texts
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
REGULARLY WORKING ON THE EXERCISES SUGGESTED BY THE TEACHER IS THE MOST EFFECTIVE WAY FOR THE STUDENT TO PREPARE FOR THE EXAM.
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2019-10-21]