Michele NAPPI | ROGRAMMING AND DATA STRUCTURES
Michele NAPPI ROGRAMMING AND DATA STRUCTURES
cod. 0512100052
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 |
SSD | CFU | HOURS | ACTIVITY | |
---|---|---|---|---|
INF/01 | 6 | 48 | LESSONS | |
INF/01 | 3 | 30 | LAB |
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]