210 likes | 226 Views
This course is a continuation of CMSC 201 and covers object-oriented design and programming techniques, sorting and searching, pointers and dynamic memory allocation, abstract data types, separate compilation, and more.
E N D
CMSC 202Computer Science IIfor MajorsSpring 2003Mr. Frey (0101 – 0104)Mr. Raouf (0201 – 0204)
Course Prerequisites • CMSC 201, Computer Science (grade of B or better) • MATH 151, Calculus I (grade of C or better)
CMSC Gateway Warning! If you started your college education in Summer 1998 or later you are under the “CMSC Gateway” and must complete CMSC 201 and CMSC 202 with a grade of B or better. Because of the registrar’s rules regarding class sequences, students who received a C in CMSC 201 must retake CMSC 201 before taking CMSC 202. If you choose not to retake CMSC 201 or do not retake it before taking CMSC 202, you cannot graduate as a computer science major.
Enrolling in a Closed Section • Many students who were on the hold list have been given permission to enroll. • You should have received an e-mail from myUMBC. • You still need to register for the class.
Prerequisite Skills In order for you to maximize your chance for success in CMSC 202, you must have the following skills NOW.
Prerequisite Skills (con’t) • Fluency in C or C++. This means: • Basic data types (int, float, char) • Control structures (if-else, while, for, do, switch) • Arithmetic, relational, and logical (Boolean) operators • Arrays (single and multi-dimensional)
Prerequisite Skills (cont’d) • Compound data types (struct) • Functions and parameter passing (by value and by reference) • Header files (e.g., string.h) • Stream I/O • File I/O (sequential access files) • Strings • Pointers
Prerequisite Skills (cont’d) • Creating working programs • (designing, coding, compiling, • linking, debugging) • Working with multi-file programs (separate compilation) • Program commenting and formatting • Top down design (problem • decomposition/stepwise refinement)
Prerequisite Skills (cont’d) • Familiarity with: • Abstract data types (ADTs) • List, stack, and queue ADTs • Singly-linked linear lists • Sorting and searching
CMSC 202 Overview • Object-oriented design and programming techniques • More in-depth coverage of: • Sorting and searching • Pointers and dynamic memory allocation • Abstract data types (ADTs) • Separate compilation (makefiles) • List, stack, and queue implementations
CMSC 202 Overview (con’t) • New Topics: • Recursion • Asymptotic analysis (algorithm efficiency) • Error handling and exceptions • Tree data structures (general and binary) • Programming Practices
CMSC 202 Overview (con’t) • C++ syntax • This will be accomplished mainly via • assigned textbook readings and • discussion sections. Some complex • C++ topics will be discussed in • lecture. C++ code samples will also • be used in lecture to illustrate • various concepts.
Course Web Page All materials for this class can be found at: www.cs.umbc.edu/courses/undergraduate/202/spring03 Check the “News and Announcements” frequently.
Syllabus • You are required to read the Syllabus • for this class
Syllabus Overview • Textbooks • C++: How to Program, by Deitel and Deitel, • 3rd edition • Grading • 5 Projects (10% each) = 50 % • 2 Midterm exams (15% each) = 30 % • 1 Final exams (20%) = 20 % • You have exactly one week after a grade is • received to discuss your grade with your instructor.
Syllabus Overview (con’t) Final grades will be determined as follows: 90 <= A <= 100 % 80 <= B < 90 % 70 <= C < 80 % 60 <= D < 70 % 0 <= F < 60 % Final grades will not be curved. Don’t ask. A grade of “I” (Incomplete) will only be given under dire circumstances.
Syllabus Overview (con’t) • Midterm Exams • Not cumulative, but you must be able to apply the knowledge from previous exams • Final Exam • Cumulative
Syllabus Overview (con’t) • Programming Projects • Do your own work!!! • Are checked against all other students’ projects • Submitted electronically • Project 0 to test that submission works is mandatory • Projects are due at 11:59pm on the due date • If ResNet or your personal connection goes down, get into the lab to complete your project! • The system does go down -- no excuse! • Grades are based on 85% correctness and 15% coding standards and practices
Syllabus Overview (con’t) • Some projects may have a design component. This will be detailed in the project descriptions. • You must use the Linux system and the g++ compiler.
Section 0103 Only • Section 0103’s discussion class will meet in ECS 104 – a classroom with terminals. • This section will be given lab assignments to be completed during the discussion period. These assignments will provide students with more hands-on programming experience. • These lab assignments count 5% of the grade for this section.
Section 0103 Grading 5 Projects (10% each) = 50 % Lab assignments = 5 % 2 Midterm exams (15% each) = 30 % 1 Final exams (20%) = 15 %