CSCI 180 Spring 2006 Data Structures Michael H Goldwasser Saint Louis University Handout 1 Tuesday 17 January 2007 CSCI 180 Data Structures Contents 1 Overview 1 1 Catalog Description 1 2 Prerequisites 1 3 Detailed Description 1 1 2 2 2 Course Administration 2 1 The Staff 2 2 Class Meetings 2 3 Textbook 3 3 3 3 3 Online Resources 3 1 CSCI 180 Web Page euler slu edu goldwasser 180 3 2 Electronic Assignment Submission 3 3 Email with Instructor 4 4 4 4 4 Graded Work 4 1 Homework Assignments 15 4 2 Programming Assignments 40 4 3 Exams 45 4 4 Extra Credit 4 5 Course Grades 4 6 Academic Integrity 4 7 Late Policies 4 4 5 5 5 6 6 7 5 Additional Information 5 1 Students with Disabilities or Special Needs 5 2 Tutoring Resources at SLU 5 3 Computing Resources at SLU 8 8 8 8 2 1 1 1 CSCI 180 Spring 2006 Handout 1 Overview Catalog Description The design implementation and use of data structures Principles of abstraction encapsulation and modularity to guide in the creation of robust adaptable reusable and efficient structures Specific data types to include stacks queues lists priority queues dictionaries trees and graphs 1 2 Prerequisites The official prerequisite is one of CSCI 146 or CSCI 150 as well as one of either CSCI 140 MATH 135 or MATH 266 1 3 Detailed Description This is an undergraduate course which is a follow up to an introductory programming course The goal of that first course can be viewed as gaining the ability to write computer programs for accomplishing tasks The key in that course was that programs must work correctly for the task at hand In this course we will focus on the fact that there are actually many different ways to correctly solve a particular problem and that these different methods may vary greatly in efficiency and adaptability What we will find is that writing a good program is not as simple as starting with a correct program and then improving it Instead the quality of a program is most determined by key thoughts and decisions which take place long before the first line of code might be written Relevant issues include the choice of data structures which are used to organize all of the information within a program and the structure and level of generality which allow components of a program to be better maintained reused and adapted In hand with this emphasis on writing good programs and designing useful data structures the course will reinforce aspects of object oriented programming using the C programming language Since the majority of students will enter this course having used Python in CSCI 150 we do not assume any familiarity with C at the onset of this course In the early parts of the course we will draw comparisons between these two languages to help in the transition CSCI 180 Spring 2006 Handout 1 2 2 1 3 Course Administration The Staff Instructor Email Web Office Telephone Office hours Dr Michael Goldwasser goldwamh slu edu http euler slu edu goldwasser Ritter Hall 006 314 977 7039 Mondays 3 00 4 00pm in RH 121 or RH 006 Wednesdays 3 00 4 00pm in RH 121 or RH 006 Fridays 12 00 1 00pm in RH 006 or by appointment Please make sure to take advantage of office hours as they offer a wonderful opportunity for individual interaction 2 2 Class Meetings The Lectures The material will be presented in four weekly lectures Though attendance in class is not explicitly required it is certainly expected Lectures are designed to be interactive and class participation is most welcome These meetings will offer learning opportunities that cannot be recreated purely from readings That said for those who miss a lecture information on the lecture topic can often be found on the course schedule web page Time Place 2 3 Mon Tue Wed Fri 1 10 2 00pm Ritter Hall 121 Textbook The required textbook for this course is Title Authors Publisher ISBN 13 ISBN 10 Website Objects Abstraction Data Structures and Design Using C Elliot B Koffman and Paul A T Wolfgang John Wiley Sons 2006 978 0 471 46755 7 0 471 46755 3 he cda wiley com WileyCDA HigherEdTitle productCd 0471467553 html The text should be available through the campus bookstore as well as various online book vendors 4 3 CSCI 180 Spring 2006 Handout 1 Online Resources This course will take advantage of the Internet and the departmental network in many ways 3 1 CSCI 180 Web Page euler slu edu goldwasser 180 With the exception of the first day s printed handouts most of the information for this course will be distributed only by means of the course web page This web site will contain all assignments a schedule of lectures detailed lecture notes and links to many other sources of information The web page contains some information e g solutions submitted assignments individual grades which is more sensitive and therefore which will be available to students in the class only after they have identified themselves properly To gain access to these parts of the web page a student must first complete an online questionnaire creating a unique identity and password 3 2 Electronic Assignment Submission All assignments for this course must be submitted electronically The submission procedure will be done through the course web page and allows students to submit from any computer connected to the Internet Each student in this class will be selecting a unique username password combination solely for use in identifying the student when using the course web page 3 3 Email with Instructor Face to face contact in class and in office hours is most desirable Yet email is a convenient form of communication as well I try to respond to email promptly including at least once each evening when possible If your question involves your progress on a current programming assignment my response will be more informative if you can point out the specific problem you have encountered and if I am able to see all of your source code Threfore I strongly suggest that you either attach all relevant files to the email or submit preliminary versions of such files through our online system 4 4 1 Graded Work Homework Assignments 15 We expect there to be a total of 8 10 written homework assignments during the course each of which involves some amount of work on a computer At the end of the semester CSCI 180 Spring 2006 Handout 1 5 we will throw away your lowest of the homework grades with the remaining assignments contributing equally to this portion of the grade These will generally be due at the beginning of class on the assigned due date The problems will consist of
View Full Document