Presentation is loading. Please wait.

Presentation is loading. Please wait.

7/3/2015Data Structures and Algorithms1 Dick Steflik Fall 2012.

Similar presentations


Presentation on theme: "7/3/2015Data Structures and Algorithms1 Dick Steflik Fall 2012."— Presentation transcript:

1 7/3/2015Data Structures and Algorithms1 Dick Steflik Fall 2012

2 7/3/2015 Data Structures and Algorithms 2 Instructor Prof. Richard (“Dick”) Steflik steflik@binghamton.edu Office: T22 Engineering Building Office Hours: Tue and Thu : 11:00 – 1:00 PM http://www.cs.binghamton.edu/~steflik/cs240/cs240.htm

3 7/3/2015 Data Structures and Algorithms 3 Teaching Assistant TA: Huseyin Aygan  Office Hours: TBA Blackboard:  http://blackboard.binghamton.edu  “Data Structures and Algorithms-SPG2”, section B1

4 7/3/2015 Data Structures and Algorithms 4 Course Information Course Web page  http://www.cs.binghamton.edu/~steflik/cs240/cs240.htm No cell phones/ smart phones in class  (can keep it in vibrate/silent mode) No Laptops can be used during class  take notes in the old-fashioned way Slides will NOT be provided before the lecture  Take notes in class

5 7/3/2015 Data Structures and Algorithms 5 Class email list cs240b1@cs.binghamton.edu  You should have received an email from me on this list  You are responsible for everything I write to this email address  Revisit the list archives if necessary

6 7/3/2015 Data Structures and Algorithms 6 Prerequisites and Background CS 140 CS 210 or CS 211 Past programming experience in C or C++ is not required We will build fairly large programs, and move quickly for some beginning programmers

7 7/3/2015 Data Structures and Algorithms 7 Grading 20%: 2 Exams  tentative breakup: 10% and 10% 20%: Lab Grade (lab grades and attendance) 10%: Quizzes and Attendance 50%: Programming Assignments, Projects

8 7/3/2015 Data Structures and Algorithms 8 Course Requirements (more detail) Labs  About 10 “regular”, graded, labs  Usually due within a week of the lab  Submit via class FTP server (bigblackbox.cs.binghamton.edu)  No makeups  No drops  Attendance is required

9 7/3/2015 Data Structures and Algorithms 9 Course Requirements (more detail) Exams (2)  Closed notes, closed book, in class  Exams are not cumulative

10 7/3/2015 Data Structures and Algorithms 10 Course Requirements (more detail) Projects (6)  “Bigger” than labs, more interesting  Two weeks (usually)  Team work if explicitly mentioned in the description  Submit via class FTP server Attendance & Participation  Come to class, lab, office hours, ask questions  there are NO dumb questions

11 7/3/2015 Data Structures and Algorithms 11 Course Materials Textbook (Required)  ADTs, Data Structures, and Problem Solving with C++, Second Edition, Larry Nyhoff,  Prentice Hall (2005)  ISBN: 0-13-140909-3  http://cs.calvin.edu/books/c++/ds/2e/ http://cs.calvin.edu/books/c++/ds/2e/ My Powerpoint slides  Available from Course Web page  Necessary but not sufficient…

12 7/3/2015 Data Structures and Algorithms 12 Course Policies Office Hours and help  Please concentrate almost all of your in-person requests of the TA’s and I to office hours  “By Appointment” is always an option  Feel free to email any time  cs240b1@cs.binghamton.edu for content questions to the entire class cs240b1@cs.binghamton.edu  steflik@binghamton.edu for other issues steflik@binghamton.edu  Assume any email to the TA will be forwarded to me

13 7/3/2015 Data Structures and Algorithms 13 Course Policies Late Penalties  Tough but reasonable  Good excuses will be honored (health, court appearance)  Individual extensions rarely granted  I sometimes give the whole class an extension (but don’t count on it!)  Many labs and assignments will come with a late penalty and a “zero time”  If we get it after “zero time” you get a zero, probably because we will post answers by then

14 7/3/2015 Data Structures and Algorithms 14 Course Policies (continued) “Collaboration”  Work individually  Get help from TA’s and me  we are very responsive  Be careful when talking to fellow students  Learn general information, not specific solutions  Never share or borrow code (this is a violation of the Academic Honesty Code)  “Collaborators” will be punished equally and harshly  We can tell…

15 7/3/2015 Data Structures and Algorithms 15 Grade Changes TA/CA will do the grading, but grade changes must come through me  After 2 weeks, grades are set in stone  Visit me during office hours (or send email)  We will make grading mistakes, and we will happily correct them (but don’t push it)

16 7/3/2015 Data Structures and Algorithms 16 Some comments… Wide variety of incoming skill levels  I will try to challenge everyone  See me early if you have problems  (Also see me if you’re not learning enough) Organization and perseverance count  This class will be a lot of work for many of you  Start early, plan to work hard on each assignment

17 7/3/2015 Data Structuress and Algorithms 17 Official Course Description Analysis of the design, implementation, and properties of basic and advanced data structures, including lists, stacks, queues, hash tables, trees, heaps, and graphs. Design and time-space analysis of basic and advanced algorithms, including searching, sorting, insert/delete, hash table collision resolution techniques, recursive functions, balanced tree maintenance, and graph algorithms. Weekly required laboratory programming and three or more additional programming projects in C++. Practical programming techniques including C++ templates and the Standard Template Library (STL), operator overloading, C++ stream I/O, separate compilation using makefiles, debugging tools and techniques, dynamic memory management. Prerequisites: CS 120 or CS 210, and CS 140.

18 7/3/2015 Data Structures and Algorithms 18 In a nutshell What is programming? Programming is about storing, accessing, and manipulating data Many options exist  How do we organize data in programs?  What language mechanisms do we employ?  How do we evaluate different solutions? Choices have important performance and functionality consequences…. In this class, you’ll learn how to use the tools (language mechanisms and data structures) and how to pick the right tool (algorithm analysis) for different jobs

19 7/3/2015 Data Structures and Algorithms 19 Objectives: Become proficient in… Programming  recursion, pointers, simple memory management and allocation, separate compilation, parameter passing, and more C++ programming language concepts  classes, objects, pointers and references, enumerated types, typedefs, templates, and more Container concepts, representations, and operations  lists, queues, stacks, trees, graphs, heaps, hash tables

20 7/3/2015 Data Structures and Algorithms 20 Objectives: Become proficient in… Abstract data type (ADT) concepts  design and implementation considerations Sorting algorithms  bubble sort, selection sort, merge sort, quicksort, counting sort, and more Simple performance analysis of algorithms and container operations

21 7/3/2015 Data Structures and Algorithms 21 Course Objectives I hope to turn you into computer programmers…  Direct exposure to important tools and concepts  Experience – long hours in the lab (for some of you)  Failure (small “failures”… not course failure!)  Large programs – more code than you’ve written before I care more what you think looking back at this class, than during or immediately following…  (curse me now, thank me later?!)

22 7/3/2015 Data Structures and Algorithms 22 Help with C++ www.horstmann.com/ccj2/ccjapp3.html www.cplusplus.com/doc/tutorial/  Sections 1 and 2 Appendices C, D and E of Nyhoff Books listed on the class Web page


Download ppt "7/3/2015Data Structures and Algorithms1 Dick Steflik Fall 2012."

Similar presentations


Ads by Google