# COMP152 Object-Oriented Programming and Data Structures Spring 2011.

## Presentation on theme: "COMP152 Object-Oriented Programming and Data Structures Spring 2011."— Presentation transcript:

COMP152 Object-Oriented Programming and Data Structures Spring 2011

Slide 2 Math and CS * From ‘calculus’, get ‘programming fundamentals’ n Sequence, dynamic procedure n Euclid  a process or an algorithm  iteration n Approximation of a real  iteratively n ‘bracket’ the solution of a polynomial  iteration n Recurrent sequence u_{n+1} = f(u_n)  ‘recursion’  Recurrent sequent is ‘more expressive’, but no ‘close-form’ solution  ‘convergence’ for math  ‘termination’ of a recursive procedure or a loop  Fixed-point theorem  important for ‘recursion’ to finish  Invariance  proof of correctness of a ‘loop’ * From ‘algebra’, get ‘object-oriented programming’ n ‘algebra’ comes later than ‘calculus’ n About ‘categorization’ n Look for ‘general rules’ for the same objects n Group, ring, and fields: set of elements and operators  element sets  class  operators  operators

Slide 3 * Europe: more mechanical, so is applied math, informatics, n Latin: computare, to count (counter  compter) n Calcul  calculus * US: with AI, with an anthropological aspect

Slide 4 Lectures * Instructor: Long QUAN * Lectures: n L2: Mon & Wed 10h—11h50 * Web site: http://www.cse.ust.hk/~quan/comp152/index.htmlhttp://www.cse.ust.hk/~quan/comp152/index.html n Lecture notes and tutorial material n Assignments, test cases and solutions n Download course material before class * Tutorials: n 2A (Mon, 1330-1420) n 2B (Fri, 1400-1450 n 2C (Thur, 1800 1950) * Labs n 2A (Tue 1330-1520) n 2B (Thur 1800-1950) n 2C (Wed 1300-1450)

Slide 5 Textbook * Main book: n ADTs, Data Structures, and Problem Solving with C++, Prentice Hall, Larry Nyhoff * My ‘bible’: n The C++ Porgramming language, Addison Wesley, Stroustrup --- creator of C++

Slide 6 Grading Scheme * Grading is based on n 1 Written Assignments (9%) n 3 Programming Assignments (5+10+10%=25%) n 11 Lab exercises (11*1% = 11%) n Midterm Examination (20%) n Final Examination (35%)  The final has to be consistent with the overall score  If you perform well in the final, you may not fail the course  If you perform poorly in the final, you may not get an A

Slide 7 Plagiarism Policy * 1 st Time: both get 0 * 2 nd Time: both get 0 + one full downgrade * 3 rd Time: FAIL * Midterm or Final: an automatic FAIL You are encouraged to collaborate in study groups. But, you cannot copy or slightly change other students’ solutions or codes. The detection of plagiarism is computerized!

Slide 8 Course Overview * A fundamental computer science course - Essential for programming - Essential for advanced courses, e.g. 271 * A challenging course, which needs - Mathematical and logic thinking - Programming * 104,151,171 have been revamped to become (the new) 152!

Slide 9 Course Prerequisite * COMP104 n Need to know C and C++ n PC programming environment n Good programming skills n Translate pseudo-codes into codes n Speedy review in the 1 st week * Basic mathematical skills n Solving recursive equations, manipulation of symbols, etc. * Computer architecture n Pointers, storage, memory access, etc.

Slide 10 10 Course Outline * C++ review (1 week) * OOP1: concept and classes (2 weeks) * Data structure 1: Lists, stacks, and queues (2 weeks) * Generic programming (2 weeks) * Standard template library (STL) (1 week) * OOP2: inheritance, polymorphism and virtual functions (2 weeks) * Data structure 2: binary trees (2 weeks) * Hashing (1 week) * Sorting (option, 1 week)

Slide 11 Overall Goal of the Course * From programmer to architect * Learn to solve problems * Algorithms and Programming go hand in hand * Learn to analyze your solutions

Slide 12 Lecture Format * Lectures: n Slides are available before class  Print in ‘graylevel’ as ‘handouts’!!!  Constantly updated, only minorly!!! n It is important to attend the lectures (because not all material and concepts are covered in slides) n If you miss any lectures, learn from your friends * Tutorials n Supplement the lectures n Some important exercises n Welcome to attend other tutorials if you miss the your signed session * Programming and homework assignments n More rigorous problems to consolidate your knowledge

Slide 13 Assignments * Written assignments n Due by time specified n Contact TAs directly for re-grades n Re-grade requests will only be entertained within 1 week after the homework are handed back n Late policy: 20% reduction, allows only one day late. * Programming assignments n Due by time specified n Run on PC n Submit it using CASS n Re-grade policy will be announced n Late policy : 20% reduction, allows only one day late.

Slide 14 Midterm and Final Examinations * Midterm: Sat. 2 nd April * Final: TBA * Closed-book, closed-notes * No make-ups will be given n Unless under very unusual circumstances, with letters of proof n Instructor informed beforehand