Data Structures    CSCI 106, Spring 2014

Instructor:       Dr. Shieu-Hong Lin

Email: Description: Description: Description: LinEmail

TA:          Kyle Yount             

Course website: http://csci.biola.edu/csci106/

Class:      10:30 ~ 11:45pm MW: at BUSN 209 

 

Course objectives

²  Learn the fundamental data structures in computer science, including vectors (as dynamic arrays), linked lists, search trees, associative arrays, stacks, queues, heaps, and hash tables.

²  Learn the fundamental concepts of object-oriented programming and the skills of designing and implementing data structures and abstract data types as C++ classes.

²  Develop the computer problem-solving skills using fundamental data structures and object-oriented programming in C++.

²  Cultivate basic software-engineering skills in the design, implementation, and testing of programs.

 

Textbook

²  Tony Gaddis, Starting Out With C++, 7th Ed., 2012.

²  Stanley Lippman, etc. C++ Primer (5th Ed), Addison Wesley, 2012.

 

Components of the Grade

·       Reading and participation                                                                  15%

·       Programming assignments                                                              40%

·       Midterm                                                                                            20%

·       Final                                                                                                  25%

 

Weekly Progress Report for the Reading and Participation Credit:

Download the template of cumulative weekly progress report. Keep updating this cumulative weekly progress report as a file throughout the semester. By the end of every Thursday, you should incorporate information of what you have done and the amount of time you spent for the reading, the lab assignment, the programming assignment, or other written assignments since last Thursday into the cumulative progress report. This file serves as the basis for you to gain the credit of “Reading/Participation”, which accounts for 15% of the total grade weight.

Submission of the Weekly Cumulative Progress Report:

Starting from February 6, on every Wednesday email your cumulative progress report to the Dr. Lin.

 

 

Due Dates and Late Policy:

Due dates of various assignments will all be on Thursdays. In order to get full credit for an assignment, you must send it in by the end of due date. Late submission up to 7 days late will end in 40% reduction in the points received. Assignments turned in more than 7 days late will not be accepted unless there is a special reason.

 

Course Website and Online Course Information: Check the course website (http://csci.biola.edu/csci106/index.htm) regularly for course announcements. The class web page will contain the most up-to-date information on class assignments, things to do, and due dates.  Records of the points you got from the assignments, tests, and exams will be posted online on the Biola Blackboard system.

 

 

Tentative Schedule

²  Week 1                     Objects and C++ Classes: data members + member functions

²  Week 2                     Objects and C++ Classes: operator overloading and friends

²  Week 3                     C++ vector class; Concept of recursion

²  Week 4                     Basic of pointers and dynamic memory allocation

²  Week 5                     More on pointers and dynamic memory allocation

²  Week 6                     Functions, references, reference parameters

²  Week 7                     Midterm 

²  Weeks 8-9                        Linked lists: implementation and application

²  Week 10-11              Binary Search Trees: implementation and application

²  Week 12                   Variants of Search Trees; Heaps

²  Week 13                   Stacks and queues: implementation and application

²  Week 14                   Hash tables

²  Week 15                   The C++ Standard template library (STL)

²                                   Final

 

 

 

 

 

ACADEMIC HONESTY POLICY: We are committed at Biola University to ethical practice in teaching, scholarship, and service.  As such, plagiarism and other forms of academic dishonesty will not be tolerated.  Please see the undergraduate/graduate student handbook and/or the departmental/program/school policy on academic honesty.  It is imperative that you present all written, oral, and/or performed work with a clear indication of the source of that work.  If it is completely your own, you are encouraged to present it as such, taking pleasure in ownership of your own created work.  However, it is also imperative that you give full credit to any and all others whose work you have included in your presentation via paraphrase, direct quotation, and/or performance, citing the name(s) or the author(s)/creator(s) and the source of the work with appropriate bibliographic information. To do otherwise is to put oneself in jeopardy of being sanctioned for an act or acts of plagiarism that can carry serious consequences up to and including expulsion from the university.

 

Students desiring accommodations on the basis of physical, learning, or psychological disability are to contact the Learning Center (x4542) located in room U137, on the upper level of the library.