230 likes | 246 Views
Course prerequisites, enrollment guidelines, and overview of CMSC 202 covering object-oriented design, error handling, and more. Detailed syllabus, grading criteria, and format changes from CMSC 201.
E N D
CMSC 202Computer Science IIfor MajorsSpring 2002Sections 0101-0104Ms. Susan Mitchell
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 • Fill out a “Closed Section Request Form” (pick up after class). Fill it out completely. • Attach a transcript. • Put it under my office door (ECS 225-L) or ask the receptionist in ECS 210 to put it in my mailbox by noon tomorrow. • I will announce who may add the class at Thursday’s lecture. • You will then 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) • Other?
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.csee.umbc.edu/courses/undergraduate/202/spring02 Check the “News and Announcements” frequently.
Format Changes from CMSC 201 • This class (sections 0101-0104) is completely independent of the other class (sections 0201-0204). However, there will be a few similarities: • Same topics • Same syllabus (general policies, etc. – see webpage) • Same number of projects and exams • Same semester-end grading system • Same coding standards
Format Changes from CMSC 201 (con’t) • But there are major differences: • We will cover the same topics, but not necessarily in the same order or style. • We will not share lecture or discussion notes (if there are any). • We will have different exams and projects. • Discussion sections will also be different. • We will have different TAs. • So, you must attend the lecture and discussion section for which you are enrolled.
Format Changes from CMSC 201 (con’t) • Regular lecture notes will not be posted on the web. References and other material will be posted on an as-needed basis. • No exam review questions will be posted on the web.
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 me.
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 midnight (not 1second after!) 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!
Syllabus Overview (con’t) • Every project will have a design component worth 10% of the total project grade. • Designs may not be submitted late. • You must use the Linux system and the g++ compiler.
Academic Integrity • Please take the time to read the “Letter To My Students” under the Academic Integrity link.