CTE203 - Data Structures
2012 - 2013 Fall

Department of Computer and Instructional Technology Teacher Education
(Last updated: 25/12/2008)   (CWPS ver: 2.0.2)
Bilkent Moodle           New Account in Moodle

Instructors:
E-mail:
Lecture: Mon 13:40-15:30 GZ-55, Thu 08:40-10:30 GZ-55
Lab: Wed 10:40-12:30 Lab-3
Grading:     Grades
    Quizzes:   10%
    Online Participation:   5%
    Lab:   10%
    Lab Exam 1:   20%
    Midterm 1:   25%
    Final:   30%

PLEASE FOLLOW COURSE OUTLINE FROM BILKENT MOODLE.

Introduction to data structures. Strings and string manipulation. Files: text and binary files. Structures: Structures as function parameters, pointers to structures, arrays of structures. Linked lists. Stacks. Queues. Dynamic memory allocation. Recursion.
Textbooks and Other Materials:
  • Recommended: "Problem Solving and Programming Design in C", Hanly, Koffman – Addison Wesley (Third Edition)
  • Recommended: "Fundamentals of Data Structures in C", Horrowitz and Sahni – Computer Science Press
  • Recommended: "C Programming Language", Kerninghan and Ritchie – Prentice Hall
    Detailed Weekly Course Outline:
    Week Date Lecture Topics Lab Objectives
    1 13/09/2012
    17/09/2012
    About the course. Review of CTE102 topics.
    Strings: Review. Character-by-character string manipulation. Strings as function parameters. Substrings.
    String concatenation. Inserting and deleting substrings. Arrays of strings.
    NO LAB  
    2 20/09/2012
    24/09/2012
    Introduction to files.
    Text files: declaring, opening, verifying existence,
    checking for end-of-file, reading from and writing into text files.
    Examples with strings and files.
    Lab 01: Strings and Functions  
    3 27/09/2012
    01/10/2012
    Reading formatted data from and writing formatted data into text files.
    Examples on file usage.
    Lab 02: Files  
    4 04/10/2012
    08/10/2012
    Binary files: creating, reading from, writing into.
    Examples with strings and files.
    Lab 03: Files  
    5 11/10/2012
    15/10/2012
    Introduction to structures: declaring, initializing, i/o.
    Structure type as function parameters.
    Lab 04: Files  
    6 18/10/2012
    22/10/2012
    Arrays of structures. Pointers to structures.
    Structures as output parameters.
    Nested structures. Structures with array elements.
    Lab 05: Structures  
    7 25/10/2012
    29/10/2012
    Structures: examples.
    Writing and reading structures to/from binary files.
    Lab 06: Structures  
    8 01/11/2012
    05/11/2012
    MIDTERM WEEK Midterm Solution NO LAB  
    9 08/11/2012
    12/11/2012
    Dynamic memory allocation. Cast operator.
    Linked lists: creating linked lists, adding nodes to the beginning and end, searching for values.
    Lab 07: Linked Lists  
    10 15/11/2012
    19/11/2012
    Inserting and deleting nodes. Examples with linked lists.
    Quiz 3 (Quiz 3 Solution)
    Lab 08: Linked Lists  
    11 22/11/2012
    26/11/2012
    Recursion
    Lab 09: Recursive functions  
    12 29/11/2012
    03/12/2012
    Stacks and Queues LAB EXAM (Lab Exam Solution)  
    13 06/12/2012
    10/12/2012
    Stacks and Queues Lab 10: Stacks and Queues  
    14 13/12/2012
    17/12/2012
    Main function parameters. Macros. NO LAB  
    15 20/12/2012
    24/12/2012
    Review NO LAB  

    USEFUL LINKS:
  • The C Library Reference Guide   (Contains C language information)
  • Dev C++   (Free C C++ compiler for Windows)
    End of CTE203 main page.