Warmup Write a function to add two integer parameters and return the result
CMSC 202 Lesson 1 Introduction
Welcome! Who am I? – 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”
Tips for Success 1. Attend Class 2. Keep your Text handy 3. Read Carefully 4. Memorize the Coding Standard 5. Start EARLY (>= 15 hours per project!) 6. Learn a Linux editor 7. Ditch Visual C++ 8. Review the Resources page 9. Read the Blackboard discussion 10. 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: – 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: – 2.5 Graduate Instructor – 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? – 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
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?