Undergraduate
Faculty of Engineering and Architecture
Industrial Engineering
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.

Industrial Engineering Main Page / Program Curriculum / Data Structures and Programming

Data Structures and Programming

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
IE0006 Data Structures and Programming 2/2/0 DE English 5
Course Goals
Review of Structured Programming principles in C; Review of C fundementals, Expressions, Data Types, Variable Initializations; Functions, return types, passing paramaters by value and by reference and introduction of pointer concept; Functions ( Program modules in C, Math library functions, Function definition and prototypes, Header files, Calling functions, Recursion versus iteration); C Arrays (Passing arrays to functions, multiple subcripted arrays) C Pointers (pointer operators, calling functions by reference, pointer arithmetic, arrays of pointers); C Characters and Strings (standard Input/output Library functions, string handling library functions); Formatted Input/output (streams, formatting output with printf) C structures, Unions, Bit Manipulation and Enumerations C File processing (Data hierarchy, files and streams, sequential and random-access files); C Data structures (self-referencing structures, Dynamic memory allocation, Linked lists, stacks, queues, trees); The C Preprocessor (include and define directives). 
Prerequisite(s) IE2002 Introduction to Programming
Corequisite(s) -
Special Requisite(s) The minimum qualifications that are expected from the students who want to attend the course.(Examples: Foreign language level, attendance, known theoretical pre-qualifications, etc.)
Instructor(s) Lecturer Dr. Oğuz AKALIN
Course Assistant(s) -
Schedule The course is not offered in this semester.
Office Hour(s) The course is not offered in this semester.
Teaching Methods and Techniques  Lectures are presented by using power point slides, problems related to each chapter are solved in lab sessions. Students are forced to study individually by assigning home works. 
Principle Sources  H. M. Deitel, P.J. Deitel, “C How to Program”, Pearson Education International, Forth Edition. 
Other Sources
Course Schedules
Week Contents Learning Methods
1. Week Review of C fundementals, Expressions, Data Types, Variable Initializations Laboratory
2. Week Review of C fundementals, Expressions, Data Types, Variable Initializations Laboratory
3. Week cont'd Laboratory
4. Week Functions ( Program modules in C, Math library functions, Function definition and prototypes, Header files, Calling functions, Recursion versus iteration) Laboratory
5. Week cont'd Laboratory
6. Week C Arrays (Passing arrays to functions, multiple subcripted arrays) Laboratory
7. Week C Pointers (pointer operators, calling functions by reference, pointer arithmetic, arrays of pointers) Laboratory
8. Week C Characters and Strings (standard Input/output Library functions, string handling library functions) Laboratory
9. Week MIDTERM
10. Week Formatted Input/output (streams, formatting output with printf) C structures, Unions, Bit Manipulation and Enumerations C File processing (Data hierarchy, files and streams, sequential and random-access files) Laboratory
11. Week C Data structures (self-referencing structures, Dynamic memory allocation, Linked lists, stacks, queues, trees) Laboratory
12. Week List, Stack, and Queues, ADT's -list, stack, queue. Lists - Array implementation, link list, doubly link list, circularly linked lists. Laboratory
13. Week Trees, binary tree implemantation, binary search trees, AVL trees, splay trees. Hashing, Priority queues (Heaps) Laboratory
14. Week Sorting, shellsort, heap sort, merge sort, quick sort, bucket sort. Sorting large structures, Graph algorithms Laboratory
15. Week FINAL EXAM
16. Week FINAL EXAM
17. Week FINAL EXAM
Assessments
Evaluation tools Quantity Weight(%)
Midterm(s) 1 30
Laboratory 13 30
Final Exam 1 40


Program Outcomes
PO-1Ability to apply theoretical and practical knowledge gained by Mathematics, Science and their engineering fields and ability to use their knowledge in solving complex engineering problems.
PO-2Ability of determining, defining, formulating and solving complex engineering problems; for that purpose develop the ability of selecting and implementing suitable models and methods of analysis.
PO-3Ability of designing a complex system, process, device or product under real world constraints and conditions serving certain needs; for this purpose ability of applying modern design techniques
PO-4Ability of selecting and using the modern techniques and devices which are necessary for analyzing and solving complex problems in engineering implementations; ability of efficient usage of information technologies.
PO-5Ability of designing experiments, conducting tests, collecting data and analyzing and interpreting the solutions to investigate of complex engineering problems or discipline-specific research topics.
PO-6Ability of working efficiently in intra-disciplinary and multi-disciplinary teams; individual working ability and habits.
PO-7Ability of verbal and written communication skills; and at least one foreign language skills, ability to write effective reports and understand written reports, ability to prepare design and production reports, ability to make impressive presentation, ability to give and receive clear and understandable instructions
PO-8Awareness of importance of lifelong learning; ability to access data, to follow up the recent innovation in science and technology for continuous self-improvement.
PO-9Conformity to ethical principles; knowledge about occupational and ethical responsibility, and standards used in engineering applications.
PO-10Knowledge about work life implementations such as project management, risk management and change management; awareness about entrepreneurship and innovativeness; knowledge about sustainable development.
PO-11Knowledge about effects of engineering applications on health, environment and security in global and social dimensions, and on the problems of the modern age in engineering; awareness about legal outcomes of engineering solutions.
Learning Outcomes
LO-1Use the logical operators, break and continue program control statements.
LO-2Recognize how to construct programs modularly from small pieces called functions, Express the mechanisms used to pass information between functions, Use arrays to store, sort and search lists and tables of values, Use pointers to pass arguments to functions using call-by-reference.
LO-3Create and use structures, unions and enumerations.
LO-4Create, read, write and update files.
LO-5Explain sequential access file processing and random access files processing.
LO-6Form linked data structures using pointers, self-referential structures and recursion, Create and manipulate linked lists, queues and stacks, Allocate and free memory dynamically for data objects.
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11
LO 1
LO 2
LO 3
LO 4
LO 5
LO 6