1 / 13

Introduction to CS II Data Structures

Welcome to CS112 & CS320 courses focusing on fundamental data structures and C++ programming. Emphasis on elegant code development, advanced data structures, and critical thinking. Engage in significant programming assignments in a fast-paced environment. Academic integrity is of utmost importance.

dvelarde
Download Presentation

Introduction to CS II Data Structures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to CS IIData Structures Hongwei Xi Comp. Sci. Dept. Boston University

  2. Welcome! • The main focus of CS112 is on the design, analysis and implementation of fundamental data structures used throughout computer science. • These include linked lists, stacks, queues, trees, hash tables, graphs, as well as specialized methods for searching and sorting. BU CAS CS320

  3. Programming Language • All of our implementations will be done in the object-oriented programming language C++ • In particular, we are to make use of features such as dynamic memory allocation, pointers, and recursion, which are taught at the end of CS111 BU CAS CS320

  4. Important Course Information • Lecture Times: 10:00-11:00 • Classroom: CAS 226 • Course Homepage:http://www.cs.bu.edu/~hwxi/academic/courses/CS112.html • Instructor: Hongwei Xi / TA: Dengping Zhu • Office Hours: • Instructor: Monday 1-2:30 and Friday 11-12:30 • TA: TBA • Grades Calculation:40% (homework) + 20% (midterm) + 25% (final) + 15% (attendance + participation)A: 85% or above B: 75% or above C: 65% or above D: 50% or above BU CAS CS320

  5. The Emphasis in Teaching (I) • Developing elegant and efficient code from an abstract specification; • Literate programming (writing programs that can be read by humans as well as machines); • Developing a toolbox of advanced data structures for use in your future programming tasks, and an awareness of various design patterns that recur frequently in advanced programming; • Critical thinking about programs and the programming process, which involves: BU CAS CS320

  6. The Emphasis in Teaching (II) • Thinking about the best way to plan out the design using object-oriented design and appropriate features of C++; • Methodical and efficient development of the implementation using step-wise refinement and incremental testing and debugging (using appropriate debugging tools); • Being able to convince yourself of the correctness of the implementation by mathematical reasoning; • Analyzing the running time (efficiency) of programs by inspection and mathematical reasoning; and • Evaluating the efficiency and correctness of programs empirically, by using various tools in properly designed experiments. BU CAS CS320

  7. What is this course like? • It requires that you do a significant amount of programming • You are expected to read the documentation and learn some essential debugging skills • You are to be given about 6 homework assignments, all of which involve certain amount of programming BU CAS CS320

  8. What is this course like? • It proceeds in a fast pace • You are expected to read the text that we may not have time to cover in class • You are expected to try programming examples that we may not have time to explain in class • You may need to take notes on the materials we cover that are not in the textbook, though I will minimize the need for note-taking by providing you with proper handouts. BU CAS CS320

  9. What is this course like? • You are to have a rapid exposure to many fundamental concepts in algorithms and data structures • You are also expected to gain a great deal more understanding of programming, which can be really helpful for you to pursue other subjects in computer science • Above all, I hope that you will find a great deal more fun in programming BU CAS CS320

  10. Warnings • This is likely to be a challenging course for you as many new and unfamiliar concepts are to be introduced rapidly • You may need to give some time for certain concepts to “sink in” • You may find that some programming assignments are difficult and demanding • Please ask for help if you need it: ask it sooner rather than later BU CAS CS320

  11. Pleas • It is the first time for me to teach this course, and • I am likely to be a bit overly ambitious, and • I am certain to make (quite a few) mistakes, but • I will do my best to make the course run as smoothly as possible • Please be patient and ask (a lot of) questions! BU CAS CS320

  12. Academic Integrity • Strict adherence to the university guidelines • All work you turn in must be solely your own unless specified otherwise • You are allowed to discuss problems with your classmates but you need to write your own code and solutions • Please always remember that every student deserves a chance to achieve a fair grade BU CAS CS320

  13. The End Questions? BU CAS CS320

More Related