ROGRAMMING AND DATA STRUCTURES

Michele NAPPI ROGRAMMING AND DATA STRUCTURES

0512100052
DIPARTIMENTO DI INFORMATICA
EQF6
COMPUTER SCIENCE
2016/2017



OBBLIGATORIO
YEAR OF COURSE 1
YEAR OF DIDACTIC SYSTEM 2015
SECONDO SEMESTRE
CFUHOURSACTIVITY
648LESSONS
330LAB


Objectives
KNOWLEDGE AND UNDERSTANDING: KNOWLEDGE OF BASIC ALGORITHMS AND DATA STRUCTURES. ITERATIVE AND RECURSIVE PROGRAMMING TECHNIQUES AND KNOWLEDGE OF STATIC AND DYNAMIC DATA STRUCTURES

APPLYING KNOWLEDGE AND UNDERSTANDING: HOW TO ANALYZE PROBLEMS AND IMPLEMENT APPLICATIONS THAT SOLVE DESIGNING AND IMPLEMENTING ALGORITHMS AND DATA STRUCTURES IN C LANGUAGE. REALIZATION OF SMALL SOFTWARE PROJECTS IN C.
Prerequisites
BASIC KNOWLEDGE ABOUT PROCEDURAL PROGRAMMING IN C
Contents
1. ADVANCED PROGRAMMING IN C: SELF-REFERENTIAL STRUCTURES; DYNAMIC STRUCTURES (LISTS, TREES).
2. INTRODUCION TO RECURSIVE PROGRAMMING
3. RECURSIVE ALGORITHMS AND DATA STRUCTURES
4. EXECUTION MANAGEMENT OF RECURSIVE PROGRAMS
5. GENERAL KNOWLEDGE OF MEMORY MODELS, STATIC MEMORY, DYNAMIC MEMORY, EXECUTION STACK, ACTIVATION RECORD; DYNAMIC AND STATIC SCOPES
6. TAIL RECURSION.
7. DINAMIC LISTS: GENERAL ASPECTS; DATA STRUCTURE DEFINITION; BASIC (ITERATIVE AND/OR RECURSIVE) ALGORITHMS, SUCH AS CREATION, INSERTION, RESEARCH, DELETION
8. BINARY TREES: GENERAL ASPECTS; DATA STRUCTURE DEFINITION; BASIC (ITERATIVE AND/OR RECURSIVE) ALGORITHMS, SUCH AS CREATION, INSERTION, RESEARCH, DELETION, VISITS
9. ABSTRACT DATA TYPES (ADT): DESIGN AND REALIZATION; DATA TYPE INTERFACE AND IMPLEMENTATION
10. SYNTACTIC AND SEMANTIC SPECIFICATION OF BASIC ADTS: LISTS, STACKS, QUEUES, BINARY TREES. EXAMPLES OF ALTERNATIVE IMPLEMENTATIONS IN C
11. HASH TABLES: GENERAL ASPECTS; INTERNAL AND EXTERNAL HASHING; BASIC ITERATIVE AND RECURSIVE ALGORITHMS, SUCH AS CREATION, INSERTION, RESEARCH, DELETION.
Teaching Methods
CLASS LECTURES (6ECTS/48H) AND LABORATORY PROGRAMMING PRACTICE (3ECTS/30H). IN THE LABORATORY PRACTICE HOURS THE TEACHER WILL PROVIDE EXAMPLES OF PROGRAM WRITING.
Verification of learning
LABORATORY TEST AND ORAL EXAM. IN THE LABORATORY TEST THE STUDENT HAS TO WRITE A PROGRAM SOLVING A GIVEN PROBLEM. THE ORAL EXAM VERIFIES THE LEVEL OF ACHIEVEMENT OF LEARNING OBJECTIVES. STUDENT HAS TO SHOW HIS/HER KNOWLEDGE OF ALL THE TOPICS STUDIED IN THE COURSE. THE EVALUATION CRITERIA INCLUDE THE COMPLETENESS AND CORRECTNESS OF THE LEARNING AND THE CLARITY OF THE PRESENTATION.
Texts
LEARNING MATERIAL (HANDOUTS, SLIDES, EXERCISES) IS AVAILABLE ON-LINE TO THE STUDENTS.
THE FOLLOWING BOOK IS NECESSARY FOR THE INDIVIDUAL STUDY.

RECOMMENDED TEXTBOOKS:
ROBERT SEDGEWICK, “ALGORITMI IN C” 3/ED”, ADDISON - WESLEY
  BETA VERSION Data source ESSE3 [Ultima Sincronizzazione: 2019-03-11]