CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell
CMSC 2022 Course Prerequisites CMSC 201, Computer Science (grade of B or better) MATH 151, Calculus I (grade of C or better)
CMSC 2023 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.
CMSC 2024 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.
CMSC 2025 Prerequisite Skills In order for you to maximize your chance for success in CMSC 202, you must have the following skills NOW.
CMSC 2026 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)
CMSC 2027 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
CMSC 2028 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)
CMSC 2029 Prerequisite Skills (cont’d) Familiarity with: – Abstract data types (ADTs) – List, stack, and queue ADTs – Singly-linked linear lists – Sorting and searching
CMSC 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 CMSC 202 Overview (con’t) New Topics: – Recursion – Asymptotic analysis (algorithm efficiency) – Error handling and exceptions – Tree data structures (general and binary) – Other?
CMSC 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.
CMSC Course Web Page All materials for this class can be found at: Check the “News and Announcements” frequently.
CMSC Format Changes from CMSC 201 This class (sections ) is completely independent of the other class (sections ). 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
CMSC 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.
CMSC 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.
CMSC Syllabus You are required to read the Syllabus for this class
CMSC 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.
CMSC 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.
CMSC Syllabus Overview (con’t) Midterm Exams Not cumulative, but you must be able to apply the knowledge from previous exams Final Exam Cumulative
CMSC 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!
CMSC 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.
CMSC Academic Integrity Please take the time to read the “Letter To My Students” under the Academic Integrity link.