Warmup Write a function to add two integer parameters and return the result
CMSC 202 Lesson 1 Introduction
Welcome! Who am I? What is this class? Why should you care? Dana Wortman, Instructor What is this class? CMSC 202: Computer Science 2 Design and Development of Software C++ by Torture (…I mean…no, that’s what I mean) Why should you care? The “Gateway”
Announcements No Lab this week No TA Office Hours this week Course Website: http://www.csee.umbc.edu/courses/undergraduate/202/spring06/
Syllabus High Points Attendance Exams Projects (5 at 7% each) <= 1 day late = -25% > 1 day late = 0 Homeworks (2 at 2.5% each) Blackboard Academic Dishonesty Email Policies
Tips for Success Attend Class Keep your Text handy Read Carefully Memorize the Coding Standard Start EARLY (>= 15 hours per project!) Learn a Linux editor Ditch Visual C++ Review the Resources page Read the Blackboard discussion Ask Questions
MOST IMPORTANT Save Early, Save Often Modular Composition Write no more than 5 lines Save Compile Test (optional) Repeat
Submitting Work Use GL machines Log into: Project 0 will: linux.gl.umbc.edu Project 0 will: Ensure the submit system is setup for you Help you learn the submit system
Need Help? Teaching Assistants: Instructor Help Center 2.5 Graduate Me! Help Center Open M-F 10-4 (ish?) TBA
What is Computer Science? The systematic study of computing systems and computation. The body of knowledge resulting from this discipline contains theories for understanding computing systems and methods; design methodology, algorithms, and tools; methods for the testing of concepts; methods of analysis and verification; and knowledge representation and implementation.
Where does this class fit? CMSC 202 is primarily focused on: Design methodology Algorithms Tools Why C++? C++ is a superset of C Objects: greater organization & easier maintenance More than 50% of jobs in CS request C++
Debugging What is a bug? Three primary types: Application does the unexpected May not cause a failure (core dump, crash, etc.) Three primary types: Syntax – caught by compiler Modular – caught by the linker Logic – caught by….uh oh…the developer!!!
Logic Bugs – Where’s the Bug? int a = 7; int b = 6; int c = 2; float d = a + b + c / 3.0;
Debugging Two basic strategies Print each variable during run… quick for some bugs, but tedious Use a debugging tool Preferred method! GDB Visual C++ Debugger Eclipse CDT and other opensource C++ IDE/Debuggers
Essential Debugger Features Line by line code execution Stacktrace of previously called functions View variable values at any line View POINTER values at any line Stop the code at a certain point (breakpoint) Show line where program core-dumps
Assignment For next class: Before 9/10: Before 9/17: Talk to me if you are not registered! Log into your GL account Email me with problems Check out the BlackBoard site Check out the Course website Before 9/10: Do Project 0 Will be posted once submission system is setup Email me if you have problems Before 9/17: Do Homework 1 Will be posted on 9/10
Challenge For next class: Write a function that sorts an array that is passed as a parameter (your function can also accept the size of the array) Use the FEWEST lines of code Can you do it in less than 10? Less than 5?