170 likes | 190 Views
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
E N D
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”
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) • <= 1 day late = -25% • > 1 day late = 0 • 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: • 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
Assignment • For next class: • 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 • Email me if you have problems
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?