cmpe- 231 data structures - Computer Engineering Department

advertisement
CMPE- 231 DATA STRUCTURES
Department: Computer Engineering
Instructor
Name: Assoc. Prof. Zeki Bayram (coordinator)
E-mail: zeki.bayram@emu.edu.tr
Office: CMPE 216
Office Tel: 2840
Office Hours: Friday 10:30- 12:30
Assistant Information
Name: Samaneh Azari (coordinator)
E-mail:samaneh.azari@emu.edu.tr
Office: CMPE 204
Office Tel: 1199
Meeting times and places:
Tuesdays 14:30-16:20, CMPE128
Fridays 14:30-16:20 , CMPE127
Program Name:
Computer Engineering
Course Number:
CMPE231
Required Course
Prerequisite(s):
CMPE112
Program Code: 25
Credits:
4 Cr
Elective Course
Year/Semester:
2014-2015 Fall
Service Course
Catalog Description:
Overview of C Programming Language. Data types. Pointers. Arrays. Function calls (Call by value, Call by
reference). String operations. Structures (Arrays of structures. Self-referential structures. Structures and Functions).
Dynamic memory allocation. Introduction to Data Structures. Binary and Decimal Integers (Binary number system,
One’s complement notation, two’s complement notation, Binary coded decimal). Real numbers. Character strings.
Concept of Abstract Data Type (ADT). Memory allocation (storage) of arrays. The Stack. Stack as an Abstract Data
Type. Primitive operations. Representing the stack in C. Examples: Infix, Postfix, and Prefix notations, Infix-toPostfix conversion. Recursion. Recursuive definition. Examples: Factorial function. Fibonacci sequence. Binary
search. The Towers of Hanoi problem. Recursion versus Iteration (comparison). Queues and Lists. The Queue as an
Abstract Data Type. C implementation of Queues. Linked Lists. Inserting and Removing Nodes from a List. Linked
implementation of Stacks and Queues. Array implementation of Lists. Linked Lists using Dynamic Variables.
Queues as Lists in C.Circular Lists. Example: Josephus problem. Doubly Linked Lists. Trees. Operations on Binary
Trees. Binary Tree Representations. Binary Tree Traversals. Trees and their applications. Binary search trees.
Graphs. (Pre-requisite: CMPE 112)
Course Web Page:
http://cmpe.emu.edu.tr/CourseLoad.aspx?CourseCode=CMPE108
Textbook(s):
Langsam Y., Augenstein M., Tenenbaum A.
Data Structures Using C and C++, 2nd edition, Prentice Hall Int., 1996
(ISBN 013-529322-7)From the Publisher (Prentice Hall/Engineering)
Reference Book(s):
Data Structures In C by Noel Kalicharan
Publisher: CreateSpace Independent Publishing Platform; 1 edition (August 11, 2008)
ISBN-10: 1438253273
ISBN-13: 978-1438253275
Topics Covered and Class Schedule:
TOPICS
WEEK OF
13/10/2014
20/10/2014
27/10/2014
03/11/2014
10/11/2014
17/11/2014
24/11/2014
28/11/14 - 09/12/14
08/12/2014
Primitive data structures. Binary and
Decimal Integers, Real numbers,
Character strings, Memory
representation of information,
pointers.
Arrays and Pointers (Continued)
Arrays and Memory allocation
(storage) of arrays. Two and multi
dimensional arrays.
Lab: introduction to
Microsoft Visual
C++ 6 IDE
Structures. Arrays of structures. Selfreferential structures. Dynamic
memory allocation.
Lab: 1-D array,
random number
generation
Stack as an Abstract Data Type.
Primitive operations. Representing
the stack in C.
Infix, Postfix, and Prefix notations.
Infix-to-Postfix conversion.
Functions. Recursive definitions.
Factorial function. Fibonacci
sequence. Binary search. The Towers
of Hanoi problem. Recursion versus
Iteration.
Midterm Exams
Lab: pointers, string
manipulation. 2-D
Arrays
Files, array of
structures
The Queue as an Abstract Data
Type. C implementation of Queues.
Circular queue representation.
29/12/2014
Linked Lists. Inserting and
Removing Nodes from a List. Linked
Lists using Dynamic
Variables. Circular Lists.Doubly
Linked Lists.
Trees. Binary Tree Representations.
Binary Tree Traversals (inorder,
preorder, postorder). Creating a
binary tree. Deleting nodes from a
binary tree. Binary Search Trees.
Searching a Binary Search Tree.
Inserting into a Binary Search Tree.
Deleting from a Binary Search Tree.
Sorting and Searching. Efficiency of
Sorting. The O notation. Bubble Sort.
Quick Sort.
05/01/2015
Hashing.
12/01/2015
Graphs. Application of graphs. C
representation of Graphs.
15/12/2014
22/12/2014
19/01/201531/01/2015
LABS
Final Exams
Lab: Using a stack
Stack . Binary search
Lab: Implementing a
stack (prev lab 4)
Queues (prev lab 5)
Lab: Linked List
(prev lab 6)
Lab: Trees
Lab: Sorting (prev
lab 2)
Lab: Hashing
Course Learning Outcomes
On successful completion of the course, the student is expected to be able to:
 Use arrays, structures and pointers to implement data structures
 Perform pointer arithmetic
 Use abstract data types such as stacks and queues to solve problems
 Implement sorting algorithms
 Implement searching algorithms
 Write recursive programs
 Use linked list data structures and their operations to implement solutions
 Use various tree data structures and their operations to implement solutions
 Use graph data structures and related operations to implement solutions
Assessment
Method
Midterm Exam(s)
Final Examination
Attendance
Labs
How many
1
1
1
10
Percentage
40%
45%
5%
10%
Computation of the attendance grade: Less than 50%, 0 points. At least 75% attendance, 5 points. Otherwise 5 *
(number of days attended / number of days attendance taken). Attendance will start to be taken once the add-drop
period has ended.
Lab grading policy: For each lab, 50% of the grade will be obtained by attendance, and the remaining 50% by the
actual work done during the lab session.
Policy on makeups:
Exams:
 You can take the re-sit exam only if (i) you fail the course, (ii) you cannot take the final exam due to valid
and documented medical condition (report must be provided within 3 days of the exam) , or (iii) if you
satisfy other requirements specified in the university regulations for taking the re-sit exam.
 The re-sit exam grade will replace your final exam grade.
 In case of a documented medical condition which prevents you from taking the final exam, when you take
the re-sit exam as a makeup for the final exam, your grade will first be given as I, and then changed to
another grade based upon the result of the re-sit exam.
 You can take a makeup for the midterm only in the case of a valid medical excuse. A written report from a
doctor explaining your condition must be submitted to your instructor within 3 days of the midterm exam.
 If you miss both midterm and final exams and do not submit any written report, you will get an “NG” grade.
Labs:



There will be no makeup for the missed lab experiments.
There are no exemptions for labs (i.e. if you are taking the course for the second time, you still need to
attend the labs)
Policy on cheating and plagiarism: Plagiarism (presenting somebody else's work as your own) and
cheating are disciplinary offences and will be dealt with accordingly.
Contribution of Course to ABET Criterion 5
Credit Hours for:
Mathematics & Basic Science : 0
Engineering Sciences and Design : 3
General Education : 0
Relationship of the course to Program Outcomes
(a) an ability to apply knowledge of mathematics, science, and engineering.
(e) an ability to identify, formulate, and solve engineering problems.
(k) an ability to use the techniques, skills, and modern engineering tools necessary for engineering
practice.
(l) an ability to apply knowledge of probability and statistics, mathematics through differential and integral
calculus, discrete mathematics, basic sciences, and computer science
Prepared by: Assoc. Prof. Dr. Zeki Bayram
Date Prepared: 12 October 2014
Download