Course Introduction Andy Wang COP 4530 / CGS 5425 Fall 2003, Section 4 Instructor Andy Wang (awang@cs.fsu.edu) Office: 264 LOV Office hours: M 1:30pm – 2:30pm Th 2:00pm – 3:00pm Class website: http://www.cs.fsu.edu/~awang/courses/cop4530_f2003 Teaching Assistants Jerry Hu (zhiqiahu@cs.fsu.edu) Office: CS Majors Lab Office hours: T 3:00pm-5:00pm Nobuyasu Fukuhara (nff0150@garnet.acns.fsu.edu) Office: CS Majors Lab Office hours: M 10am-11am, W 2pm3pm Course Rationale So far…you know how to program… However, to build large and complex software, you need more powerful tools Your software should be… Maintainable Reusable Efficient in both speed and resource usage Course Coverage Data structures Common Lego pieces Algorithms Popular Generic A methods to solve problems programming programming paradigm to reuse code Learning Objectives Data structures Vector, list, stack, queue, table, map… Algorithms Running time analysis of various data structures Generic Class programming and function templates Prerequisites COP 3330 Object-oriented MAD programming 2104 Discrete mathematics CDA 3101 Computer (pre- or co-requisite) organization You should know the following Pointers and pointer arithmetic Classes/objects Constructors/destructors Dynamic memory allocation/deallocation Operator/function overloading Parameter passing by reference/value The C++ I/O system More things you should know Binary/Decimal/Hexadecimal representations of numbers Unigraph and directed graphs Mathematical induction Course Material Lecture notes (posted at the class website) Code distribution library Progressively released at /home/courses/cop4530/fall03 on the computer science server No required textbook Recommended textbooks Deitel and Deitel, C++ How to Program (2nd Edition) Ford and Topp, Data Structures with C++ Using the STL (2nd Edition) Cormen, Leiserson, and Rivest, Introduction to Algorithms Class Grading Two components Exams (50%) Assignments (50%) Exams Quiz (5%) Exam 1 (10%) Exam 2 (10%) Final Exam (25%) Extra credit (5%) Assignments Assignment 1 (5%) Assignment 2 (5%) Assignment 3 (10%) Assignment 4 (10%) Assignment 5 (10%) Assignment 6 (10%) If each components > 35% 100 – 92 91.9 – 90 89.9 – 88 87.9 – 82 81.9 – 80 79.9 – 78 77.9 – 72 71.9 – 70 A AB+ B BC+ C C- 69.9 – 68 67.9 – 62 61.9 – 60 59.9 – 0 D+ D DF If one component < 35% Say… 30% on exam 50% on assignments The highest grade is C- More on Exams… Quiz (COP 3330 materials & lecture 2) Before Exam the drop deadline 1 (lectures 1-7) Exam 2 (lectures 8-15) Final exam (comprehensive) Extra credit (from time to time) More on Assignments… Increasingly difficult At least one group project Computer Accounts Computer Various science account tools SSH, E-mail, text editor, g++, make ACNS account (@garnet.fsu.edu) Receiving class emails Discussion board Your Responsibilities Understand lecture materials Try out sample code Uphold academic honesty Attend office hours for extra help Turn in your assignments on time Check your garnet email account and class web page regularly Dos and Don’ts Do share debugging experiences Do share knowledge of tools Do acknowledge help from others Do acknowledge sources of information from books and web pages Dos and Don’ts Don’t cheat Don’t copy code from others Don’t paraphrase code from others either Changing Don’t variable names & indentations post code to the discussion board Course Policies Attendance: required Missed exams: no make-up exams… Honor code: read your student handbook Students with disabilities Report to Student Disability Resource Center Bring me a letter within the first week of class To see or not to see me & TAs We are not psychics Please let us know if… Class is too hard You don’t have the background Class can be improved in certain ways When in doubt, email us… Survival Tips Post and read discussion board frequently Web search engines are your good friends Homework (1% Extra Credit) Your photograph Tell me something interesting about you Exercise your cop4530update script in you .bin directory. Enter command rehash and test the update command. (Create new directories as needed.) Create Review C++