Download presentation
Presentation is loading. Please wait.
Published byAmy Thompson Modified over 9 years ago
1
CSC 213 – Large Scale Programming Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu
2
Objectives Met in CSC213 Design computational solutions Specify, design, implement, and test a program of at least 1000 lines Design and implement a simple GUI Decompose a problem into logically grouped subprograms Develop and analyze algorithms Program well Work independently Code in a high-level language Debug a program Document a program Write and use a test plan Write recursive algorithms, greedy algorithms, & divide-and-conquer algorithms Organize data for effective use Use fundamental data structures Implement data structures Understand file structures, storage, and indexes Understand the role of computing and the computer professional Present or explain ideas Weigh different solutions and explain or argue why one was preferable Work in teams
3
High-level Objectives Have fun Become an effective programmer via better understanding of the development process Continue developing “toolbox” of solutions
4
Expectations of Me Lectures are prepared and organized Give interesting, thoughtful, & fun problems Be (reasonably) available to answer questions Be honest and forthright
5
Teaching Style Reasoning more important than answer Will not face the same question again Answer meaningless if just a lucky guess Mastery means explaining how & why Class participation is vital Cannot modify approach until I know what the problem is
6
Adult Learning Students read material before class Begin class with opportunity to ask questions (Short) lecture explains key topics & ideas Provides 2 nd opportunity to see material Prevents long, boring lectures Students work in teams solving problems Make sure you actually understand material (Nearly) Penalty-free chance to make mistakes
7
Expectations of You Work hard Come to class prepared Be a good teammate Ask for help early and often Let me know what you are thinking
8
Attendance & Deadlines Attendance is mandatory If you must miss a class, talk to me ahead of time You are responsible for every class Best way to earn a poor grade: skip class Work must be submitted by time it is due Late work will not be accepted Talk to me as soon as you know you cannot make a deadline
10
Attack of Real Life When life happens… May need to get a note from the Dean Be prepared to show documentation Talk to me when you can We will find fair & workable solution
11
Course Grading Midterm21% Final32% Projects24% Daily Activities5% Programmer’s Notebook3% Reading Quizzes3% Program Portfolio12% Grade spreadsheet available on course web page Midterm given on Mar. 26 th Final covers entire semester 6 programming projects during semester
12
Goals for Other Graded Items CSC212/213 have almost too much material Do not want to burn everyone out But really important to learn… …and equally important to learn well Build skills used by “real” programmers Often have references nearby to look things up Write Cliff’s Notes of most important details
13
Programmer’s Notebook Take notes on readings’ most important details for each lecture Template for notes on course webpage Written in manner that makes most sense to you (Don’t care where you get information from) Will collect notebooks twice during term Grade will be on how complete notes are Used on midterm & final along with book Not allowed to include my slides in notebook
16
Reading Quizzes Classes may begin with quiz on day’s reading Limited to details on notebook template… …and will be open notebook Unless asked, will not cover material on template in detail Leaving time to focus on more complex issues Gets rid of need for weekly assignments (I hope) Notebook also useful reference in future classes
17
Program Portfolio Opportunity to show off programming skills You must submit all 6 assignments as normal Choose 3 best for further scrutiny Will be due on last day of the term Document entire programming process Shows how you arrived at the final product Must include drafts program went through Gives you chance to perfect a program Grading tougher than normal assignments But also get much longer to complete
18
Grading Rubric “A” Know material Few small mistakes “B” Good understanding of topic Miss a few “boundary cases” “C” Know idea, fuzzy on details Miss large number of boundary cases -or- Solution is close, but not quite correct “D” Vague on idea, details are a blur Only solves general case -or- Solution usually incorrect -or- Solution rarely crashes “F” Started day before its due Solution rarely correct -or- Crashes regularly -or- Code cannot compile
19
Learning Styles People have different ways in which they best take in and process information Important for each student to discover what is best for them Will try presenting material visually, verbally, written, and kinetically Let me know what works for you Let me know what DOESN’T work for you
20
Collaboration Fellow students are a great resource Different styles of learning yields multiple levels of understanding Get together, discuss material, and study Answer lingering questions you have Clarify what a problem is asking (Most of you) take many classes together, may as well start interacting
21
Collaboration Work you submit must be done by you When discussing homework or projects Leave conversation with memories only Wait >15 minutes before starting on your own Never seen 2 people submit similar solutions when they actually wait Should not be reviewing work once its started When in doubt, ask me
22
Coding Help New policy for CSC111, CSC212, CSC213 Minimum requirements for debugging help Course includes focus on testing/debugging To get debugging help in CSC213: Method(s) must be javadoc’d Must have test cases for method(s) Must have performed some trace looking for bug Trace can either be on paper or via System.err
23
Textbook Michael Goodrich and Roberto Tamassia: Data Structures and Algorithms in Java, 4th edition, Wiley, 2006. Not available at bookstore, but is on web Will cover about 50% of the textbook CSC212 looks at linear data structures CSC213 looks at other concepts: trees and graphs
24
Course Website http://cs.canisius.edu/~hertzm/csc213s07 Contains slides, announcements, other important information Does not replace actually attending class
25
Personal Information Sheet Name: Matthew Hertz Year: 2 nd year Major: Computer Science Previous Computer Experience: A in CS2 at MBHS I am in this course because: Enjoy helping novice coders and seeing them develop and grow My goals for this semester are… Include better tests for IM project Develop better problems Beat my wife at darts
26
For Next Lecture Think about what you think differentiates a good programmer from a great programmer 1 st item for Programmer’s Notebook: Write 2 – 3 paragraphs convincing me of your opinion
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.