In this course, the fundamental concepts covered in the first semester course "Introduction to Programming" are consolidated. Particularly the topics of pointers, dynamic memory allocation and management, introduction to algorithm analysis, fondamental principals of algorithms, sorting algorithmes and algorithmic modeling are elaborated. In the course practice (lab sessions) C programming language and the Linux operating system are used.
- Introduction and Reminders
- Dynamic Memory Allocation
- Linked List
- Stack and Queue
- Algorithmic analyze
- Fundamentals: Recursion, search, divide and conquer
- Sorting algorithmes
- Algorithmic modeling
- In-depth knowledge of C programming
- Knowledge of memory management, basic data structures, sorting algorithms
- Ability to model and design algorithms
- Ability to analyze algorithms
Class lectures, discussion, question-answer, problem solving, lab and project
Algorithms, Robert Sedgewick and Kevin Wayne, Pearson, 2011
The Algorithm Design Manual, Steven S. Skiena, Springer, 2008
Introduction to Algorithms, Cormen, Leiserson, Rivest & Stein, MIT Press, 2009
Understanding and Using C Pointers, Richard Reese, O’Reilly Media, 2013
| Week | Weekly Contents |
|---|---|
| 1 | Introduction and Reminders |
| 2 | Dynamic Memory Allocation |
| 3 | Linked List |
| 4 | Linked List Operations |
| 5 | Stack and Queue |
| 6 | Introduction to Algorithmic Analysis |
| 7 | Big-Oh Notation |
| 8 | Midterm Exam |
| 9 | Fundamentals : Recursion versus Iteration |
| 10 | Fundamentals : Search, divide and conquer |
| 11 | Sorting Algorithms |
| 12 | Algorithmic Analysis of Sorting Algorithms |
| 13 | Algorithmic Design |
| 14 | Algorithmic Design |
| Week | Weekly Contents |
|---|---|
| 1 | Reminders |
| 2 | Dynamic Memory Allocation |
| 3 | Linked List |
| 4 | Linked List Operations |
| 5 | Stack and Queue |
| 6 | Introduction to Algorithmic Analysis |
| 7 | Big-Oh Notation |
| 8 | Midterm Exam |
| 9 | Fundamentals : Recursion versus Iteration |
| 10 | Fundamentals : Search, divide and conquer |
| 11 | Sorting Algorithms |
| 12 | Algorithmic Analysis of Sorting Algorithms |
| 13 | Algorithmic Design |
| 14 | Students' Project Presention |
| Activities | Number | Contribution |
|---|---|---|
| Contribution of in-term studies to overall grade | 0 | 60 |
| Contribution of final exam to overall grade | 0 | 40 |
| Total | 0 | 100 |
| Activities | Number | Contribution |
|---|---|---|
| Assignments | 0 | 0 |
| Presentation | 0 | 0 |
| Midterm Examinations (including preparation) | 1 | 30 |
| Project | 1 | 10 |
| Laboratory | 10 | 10 |
| Other Applications | 0 | 0 |
| Quiz | 5 | 10 |
| Term Paper/ Project | 0 | 0 |
| Portfolio Study | 0 | 0 |
| Reports | 0 | 0 |
| Learning Diary | 0 | 0 |
| Thesis/ Project | 0 | 0 |
| Seminar | 0 | 0 |
| Other | 0 | 0 |
| Make-up | 0 | 0 |
| Total | 17 | 60 |
| No | Program Learning Outcomes | Contribution | ||||
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 1 | Knowledge and understanding of a wide range of basic sciences (math, physics, ...) and the main concepts of engineering | X | ||||
| 2 | Ability to combine the knowledge and skills to solve engineering problems and provide reliable solutions | X | ||||
| 3 | Ability to select and apply methods of analysis and modeling to ask, reformulate and solve the complex problems of industrial engineering | X | ||||
| 4 | Ability to conceptualize complex systems, processes or products under practical constraints to improve their performance, ability to use innovative methods of design | X | ||||
| 5 | Ability to design, select and apply methods and tools needed to solve problems related to the practice of industrial engineering, ability to use computer technology | X | ||||
| 6 | Ability to design experiments, collect and interpret data and analyze results | X | ||||
| 7 | Ability to work independently, ability to participate in working groups and have a multidisciplinary team spirit | X | ||||
| 8 | Ability to communicate effectively, ability to speak at least two foreign languages | X | ||||
| 9 | Awareness of the need for continuous improvement of lifelong learning, ability to keep abreast of scientific and technological developments to use the tools of information management | X | ||||
| 10 | Awareness of professional and ethical responsibility | |||||
| 11 | Knowledge of the concepts of professional life as "project management", "risk management" and "management of change" | |||||
| 12 | Knowledge on entrepreneurship, innovation and sustainability | X | ||||
| 13 | Understanding of the effects of Industrial Engineering applications on global and social health, environment and safety. | |||||
| Activities | Number | Period | Total Workload |
|---|---|---|---|
| Class Hours | 14 | 3 | 42 |
| Working Hours out of Class | 0 | 0 | 0 |
| Assignments | 5 | 2 | 10 |
| Presentation | 0 | 0 | 0 |
| Midterm Examinations (including preparation) | 1 | 10 | 10 |
| Project | 1 | 10 | 10 |
| Laboratory | 14 | 2 | 28 |
| Other Applications | 0 | 0 | 0 |
| Final Examinations (including preparation) | 1 | 10 | 10 |
| Quiz | 5 | 1 | 5 |
| Term Paper/ Project | 0 | 0 | 0 |
| Portfolio Study | 0 | 0 | 0 |
| Reports | 0 | 0 | 0 |
| Learning Diary | 0 | 0 | 0 |
| Thesis/ Project | 0 | 0 | 0 |
| Seminar | 0 | 0 | 0 |
| Other | 0 | 0 | 0 |
| Make-up | 0 | 0 | 0 |
| Total Workload | 115 | ||
| Total Workload / 25 | 4.60 | ||
| Credits ECTS | 5 | ||