CSCI 180 Spring 2006 Data Structures Michael H Goldwasser Saint Louis University Handout 1 Tuesday 17 January 2006 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 3 4 4 4 4 Graded Work 4 1 Homework Assignments 20 4 2 Programming Assignments 40 4 3 Exams 40 4 4 Extra Credit 4 5 Course Grades 4 6 Academic Integrity 4 7 Late Policies 4 4 5 5 5 5 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 1 1 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 2 CSCI 180 Spring 2006 Handout 1 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 This semester will be somewhat interesting due to the ongoing transition in the Computer Science Curriculum in our department In particular many students will be entering this course having just taken a newly revised version of the prerequisite an objectoriented programming course using Python as the instructional language Other students registered for the course took the prerequisite in an earlier semester in which case it was likely using C as the programming language though not as heavily object oriented in style Therefore we will make an effort to address both backgrounds when presenting new material Please make sure to fill out our online questionnaire to describe your background 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 and the C programming language 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 Tuesdays 10 00 11 00am Wednesdays 2 15 3 15pm Fridays 10 00 11 00am 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 Mon Tue Wed Fri 1 10 2 00pm Place Ritter Hall 225 2 3 Textbook The required textbook for this course is Title Data Structures and Algorithms in C Authors Michael T Goodrich Roberto Tamassia and David M Mount Publisher John Wiley Sons 2004 ISBN 0 471 20208 8 Website cpp datastructures net The text should be available through the campus bookstore as well as various online book vendors 3 Online Resources This course will take advantage of the Internet and the departmental network in many ways 4 3 1 CSCI 180 Spring 2006 Handout 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 20 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
View Full Document