Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D / 888-2436

Similar presentations


Presentation on theme: "CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D / 888-2436"— Presentation transcript:

1 CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu

2 Items to Discuss Course Goals Administration Syllabus Attendance Extra credit Late work/Make-ups Working together Grades

3 Course Goals Break down problems:  Design appropriate data structures  Develop appropriate solutions Deepen general facility in programming  Learn rigorous testing methods  Develop stronger debugging skills Develop skills for working in large systems

4 Textbook Michael Goodrich and Roberto Tamassia: Data Structures and Algorithms in Java, 3rd edition, Wiley, 2004. Yes, we are continuing to use this book  Discuss why this book is bad

5 Course Website http://klaatu.canisius.edu/~hertzm/cs c213s06 Contains lecture slides, announcements, quizzes, … Good place to check for information May not include everything said in class

6 Syllabus Detailed syllabus also on web Lectures will mix discussion of material with practices, exercises, and rockin’ good times

7 Attendance Class attendance is mandatory  Daily attendance will not be taken You are responsible for everything that happens in class Missing class is not an acceptable excuse Great way to earn a poor grade: skip class

8 Late work/Make-ups “Date due” means date due  Late work NOT accepted Make-ups will not be offered  Not needed since everyone attends class

9

10

11 Life happens When a catastrophe occurs…  Get a note from the Dean  Be prepared to show some documentation  Talk to the instructor as soon as you can We will find an workable solution

12 Help! Everyone will fall behind, not understand a detail, and/or have questions  Be mature: ask questions and seek out help  Talk to me so that I can change how I am presenting the material  Use all available resources  DO NOT leave programs to the last moment Best way to fail is to remain silent

13 Homework and Grading ItemWorth Midterm20% Final30% Homework25% Daily Quizzes10% Lab Grade15% Midterm will be given Mar. 23 th There will be more, smaller projects Daily quizzes will continue – mostly in-class

14 Homework To receive credit on code exercises:  Programs must compile  Programs must follow style standards  Programs should include some comments To receive credit on problem sets:  Programs should compile, follow style standards, include comments  Can receive significant partial credit for pseudo-code, pictures, explanations…

15 Programming Environments Continue to use any system you wish  Examples in lectures, labs will use Eclipse Link available on course web page I may be able to burn CDs as well  I really like Eclipse and recommend it

16 Style Guide Most companies have required style standards that all code must follow  Necessary for working in large systems  Makes code easier to read, follow  Limits problems when working on a team  Prevents many common errors For this semester, you get to use my style guidelines

17 Indentation Indentation is critical to writing legible code Always indent code within a set of braces Be consistent with your indentation Any guesses as the what the handout computes?

18 Braces Always use braces, even when not required by Java: for (int i = 0; i < n; i++); sum = sum + i; sumSquare = sumSquare + (i*i);

19 Braces Always use braces, even when not required by Java: for (int i = 0; i < n; i++); sum = sum + i; sumSquare = sumSquare + (i*i);

20 Increment/Decrement Operators Do not use the ++ & -- within a line // What gets stored at each line while (++k < n) { a[i++] = (2 * i) + 6; b[j] = (j++ * j) - 1; }

21 Statements Use variables to break up complex ideas // What is this computing? return ( (year % 4 == 0) && (year % 100 != 0)) || ( (year % 100 == 0) && (year % 400 == 0));

22 Statements Use variables to break up complex ideas boolean div4 = ((year % 4) == 0); boolean div100 = ((year % 100) == 0); boolean div400 = ((year % 400) == 0); return (div4 && !div100) || (div100 && div400);

23 Daily Quiz 1. Write the Node class for a binary tree 2. Give me your goals for this term: Get everyone using recursion happily Make class an enjoyable experience Beat my wife a darts

24 Coding Exercise Write a program that prints out the words to “99 bottles of beer”  Lyrics must be grammatically correct  Cannot use any fields  Cannot output anything from main() Must use other method; this method should accept a parameter Due before class on Jan. 19, 2006


Download ppt "CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D / 888-2436"

Similar presentations


Ads by Google