Uploaded by d.xploder

102outline

advertisement
Department of Computer Technology and Programming
Spring 2009 - 2010
CTP102 Elementary Data Structures
Syllabus
Course Details
Course Name
:
CTP102 – Elementary Data Structures
Course Credits :
5
ECTS Credits
:
10
Prerequisite
:
CTP 101
Instructor
:
İpek Sözen
E-mail
:
sozen@ctp.bilkent.edu.tr
Room, Phone: GZ-18, 5067
Office Hours:
Monday 09:40 – Wednesday 10:40
Assistant
:
Ergem Özdemir
E-mail
:
eozdemir@ctp.bilkent.edu.tr
Room, Phone: GZ-58, 3351
Office Hours:
Tuesday 09:40, 10:40
Lecture hours and place: Tuesday 8:40 - 9:40 GZ-55
Thursday 10:40 - 11:40 GZ-55
Friday 8:40 – 9:40 GZ-55
Lab hours and place:
Tuesday 13:40 - 14:40
Thursday 15:40 - 16:40
URL (web pages):
http://www.ctp.bilkent.edu.tr/~ctp102/
Course Description
Introduction to data structures. Parameter passing techniques. Files: text and binary files. Strings
and string manipulation. Structures: Structures as function parameters, pointers to structures,
arrays of structures. Dynamic memory allocation. Linked lists. Stacks. Queues. Searching, sorting
and merging. Recursion.
Aim
The aim of the course is to teach students abstract data types and dynamic data structures.
Learning Outcomes
On successful completion of the lecture, a student should be able to:
 represent strings, structures, linked lists, stacks, queues in the C language.
 use data structures to model real world aggregations of data.
 develop computer programs using the selected structures.
 classify and compare different ADT’s.
 decide which data structure is more appropriate to a specific application.
 evaluate the advantages and disadvantages of the learned data structures.
 explain and differentiate different search, sort and merge algorithms.
 create recursive algorithms for the solutions of applicable programs.
Course Outline:








Pointers
String Manipulation
Files
Structures
Linked Lists
Recursion
Stacks
Queues.
Syllabus
1
Department of Computer Technology and Programming
Spring 2009 - 2010
Text Book:

C: How to Program
(Deitel H.M., Deitel P.J.)
Problem Solving and Program Design in C (Hanly J., Koffman E. B., Friedman F. L.)
Fundamentals of Data Structures in C.
(Horowitz, Sahni, Anderson-Freed)


Reference Books:


Lecture notes prepared by the instructor;
Web references/resources.
Assessments &Grading:






Quizzes:
Lab Performance:
Lab Quiz
Lab Exam:
Midterm:
Final:
(10%)
(10%)
(5% )
(30%)
(20%)
(25%)
Attendance:
Attendance is an important criteria in following the course topics and being successful at the end of
the semester. The student(s) who attends a specific topic with the minimum attendance will
summarize that topic in the class.
Weekly outline:
Week
1
Jan 29
2
Feb 01 - 05
3
Feb 08 - 12
4
Feb 15 - 19
Topics to be covered
Review of arrays and functions
Lab. Objectives
Functions with more than one output
parameters.
Call by value.
Call by reference.
String declaration, initialization. InputOutput of Strings
Strings as function parameters.
Functions returning strings.
String assignment.


Review of arrays and functions
Functions with more than one result


Simple string examples ,
Strings as function parameters


Functions returning strings
String manipulation examples.


Arrays of strings
Reading from and writing into text
files
Examples on strings and text file
Binary Files
String concatenation.
5
Feb 22 - 26
6
Mar 01 - 05
7
Mar 08 - 12
Syllabus
String comparison.
String manipulation.
Arrays of Strings. QUIZ 1
Text files.
Binary files.


Structures. Arrays of structures.
Pointers to structures.
2


Defining, declaring, i/o of structures
Structures as function parameters
LAB EXAM 1
Department of Computer Technology and Programming
Spring 2009 - 2010
8
Mar 15 - 19
9
Mar 22 - 26
10
Mar 29–Apr
02
11
Apr 05 – 09
12
Apr 12 – 16


Nested Structures.
Structures with array elements.
Dynamic Memory Allocation.
Linked Lists.
N
MIDTERM WEEK
No Lab
Adding and deleting nodes to a Linked
list.
 Creating a linked list
 Adding a node to the beginning and
end of the list
SPRING RECESS
No Lab
Linked List Applications.



13
Apr 19 - 22
Recursion.
14
Apr 26 - 30
15
May 03 - 07
16
May 10 - 14
Search. Sort and merge algorithms

Stacks.




Syllabus
Arrays of structures
Nested structures


QUIZ 2
Queues.
3
Searching a node in a linked list
Inserting, deleting nodes to a linked
list
LAB EXAM 2
Implementation of recursive
functions
Implementation of recursive
functions
Implementation of search, sort and
merge algorithms
Stacks
Stacks
Queues
Queues
Download