|
Programming II |
This curricular unit has as objectives:
- the improvement of the knowledge in Programming (using C) by studying advanced topics (Binary Files and Dynamic Memory)
- to acquire knowledge about algorithms, in particular recursive, sorting, and searching algorithms. Evaluation of the complexity of algorithms
At the end of this curricular unit the student should be able
- to solve problems using C and he/she should understand the concepts studied
- to have developed skills on using algorithms, particularly in problems involving recursion, sorting and/or searching
- to assess the efficiency of the algorithms by analyzing the technical complexity, in order to select the most efficient algorithms to solve any given problem
|
Programming II |
PART A - Advanced topics of the C language
1 - Introduction: structures (struct), pointers and text file
2 - Binary files
3 - Dynamic memory management
4 - The C preprocessor
5 - Makefiles
PART B - Algorithms
6 - Recursion
7 - Analysis of the complexity of Algorithms
8 - Sequential data structure ("List") with sequential allocation (array representation)
8.1 - List with sequential allocation using static memory
8.2 - List with sequential allocation using dynamic memory
8.3 - Sorting algorithms:
8.3.1 - Iteratives: Selection sort and Bubble sort
8.3.2 - Recursives: Quick sort and Merge sort
8.4 - Searching algorithms:
8.4.1 - Iteratives: Exhaustive search, Sequential search and Binary search
8.4.2 - Recursives: Binary search
8.5 - Hashing tables
|
Programming II |
"Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms", 3rd Edition, 2001
By Robert Sedgewick
Addison-Wesley Professional
ISBN: 0201756080
|
Programming II |
Learning Period
- Written Test (WT): 16 points divided by 2 times (8 points each).
- Evaluation of Knowledge on Practical Classes (PC): 4 points divided by 2 times (2 point each).
- Final Grade (FG): WT + PC.
Exam
- Admission: PC >= 1 and FG >= 6.
- Exam: 16 points.
- Final Grade: PC + Exam.
|
Programming II |
Type
Date
Testing room
Written Test 1 Written Test 2 Practical Test 1 Practical classroom Practical Test 2 Practical classroom
|
Programming II |
2017/2018 (password is need):
Practical Tests
Written Test 1
Written Test 2
Learning Period (Final Grade)
Exam 1
Exam 2
|
Programming II |
PART A - Advanced topics of the C language
1 - Introduction: structures (struct), pointers and text files
2 - Binary files + More about Files
3 - Dynamic memory management + More about Dynamic Memory
5 - Makefiles
PART B - Algorithms
6 - Recursion + More about recursion
7 - Analysis of the complexity of Algorithms
8 - Sequential data structure ("List") with sequential allocation (array representation)
8.1 - List with sequential allocation using dynamic memory
8.2 - Sorting algorithms:
8.2.1 - Iteratives: Selection sort and Bubble sort
8.2.2 - Recursives: Quick sort and Merge sort
8.3 - Searching algorithms:
8.3.1 - Iteratives: Exhaustive search, Sequential search and Binary search
8.3.2 - Recursives: Binary search
More about sorting and searching algorithms
8.4 - Hash Tables.
|
Programming II |
Exercices 1.1 - Structures (struct)
Exercices 1.2 - Pointers
Exercices 1.3 - File text
Exercices 2 - Binary files
Exercices 3 - Dynamic memory management
Exercices 4 - The C preprocessor
Exercices 5 - Makefiles
Exercices 6 - Recursive algorithms
Exercices 7 - Análise de complexidade dos algoritmos
Exercices 8.1 - List with sequential allocation using dynamic memory
Exercices 8.2 - Shorting algorithms
Exercices 8.3 - Search algorithms
Exercices 8.4 - Hashing tables
Text files:
|
Programação II |
Acess from the computers in rooms 6.14 and 6.19 (use Firefox or Internet Explorer)
Acess from other computers (use Firefox or Internet Explorer)