340 likes | 438 Views
What I Saw During Break. Prof. Matthew Hertz WTC 207D / 888-2436 hertzm@canisius.edu. CSC 213 – Large Scale Programming. Objectives Met in CSC213. Develop solution over entire software lifecycle Implement & test computational solutions Describe which data structure to use & explain why
E N D
Prof. Matthew HertzWTC 207D / 888-2436 hertzm@canisius.edu CSC 213 – Large Scale Programming
Objectives Met in CSC213 • Develop solution over entire software lifecycle • Implement & test computational solutions • Describe which data structure to use & explain why • Describe execution of fundamental data structures • Know operational details of languages & systems • Understand file structures, storage, and indexes • Know theoretical foundations of computing • Trace & analyze iterative and recursive algorithms
High-level Objectives • Improve coding ability • Gain skills for developing larger systems • Learn tricks to solve common problems • Have fun
High-level Objectives • Improve codingability • Gain skills for developing larger systems • Learn tricks to solve common problems • Have fun
High-level Objectives • Improve coding ability • Gain skills for developing larger systems • Learn tricks to solve common problems • Have fun
Expectations of Me • Lectures prepared and organized • Give interesting, thoughtful, fun problems • Be (reasonably) available to answer questions • Be honest and forthright
Teaching Style • Reasoning more importantthan answer • Once answered, rarely see question again • Lucky guesses are not meaningful • Explaining how & whydemonstrates mastery • Class participation is vital • Need to understand problem to adjust approach
Students read material before class Answer any initial questions at start of class (Short) lecture explains key ideas Provides 2nd opportunity to see material Limits long, boring droning Students work in teams to solve problems Make sure you actually understand material Easy to correct when mistakes made early Adult Learning
Expectations of You • Work hard • Come to class prepared • Support & help all your teammates • Ask for help early and often • Let me know what you are thinking
Attendance • Attendance is mandatory • Talk to me when you know you must miss class • You are responsible for every class • Missing class is never acceptable excuse • Best way to earn a poor grade: skip class
Have 2 virtual “extensions” Each used to get 1 day extension on assignment Can use both on 1 assignment Late work not acceptedwithout extension If you know you cannot make a deadline, talk to me Earlier we talk, the better we can find a solution Deadlines
Grading Philosophy • Grades reflect student's demonstrated ability • Not a competition where grades are relative • Quite happily give "A" to all who earn it • "A" not automatic because score is highest in class • Remain fair for students past, present, & future • When in doubt, I consider what is most fair • Hard work alone insufficient to raise a score • Working efficiently important life skill to be rewarded
Grading Philosophy • Would you rather have: Doctor Who Cures You Doctor Who Works Hard
Course Grading • Grades available via Angel • Midterms given onMar. 12th& Apr. 21st • 3 programming projects during semester
Build skills used by “real” programmers Lots of opportunities to learn & improve Present material in variety of ways Develop understanding needed for later classes Catch and correct problems early Course Grading Goals
Build skills used by “real” programmers Lots of opportunities to learn & improve Present material in variety of ways Develop understanding needed for later classes Catch and correct problems early Suffering students are music to my ears Course Grading Goals
Weekly Assignments • Posted on web/Angel each week • Usually due by 5PM following Tuesday • Virtual extensions okay to useon all but first one • Before submitting, ask me questions you still have • Several goals for these assignments • Provide additional programming opportunities • Reinforce material from each lecture • Questions should seem easy & take under 10 min. • Means you are doing well
Program Portfolio • Show your mastery of development process • Choose 1 project for further scrutiny • Project can be resubmitted throughout term • Entire process should be documented • Shows how you arrived at the final product • Include early steps & drafts of your design, tests • Gives you chance to perfect program • Grading tougher than normal projects • Get much longer to complete
Programmer’s Notebook • Take notes on readings’ important details • Course webpage contains helpful templates to use • Notes written by you so easy to understand • (Don’t care where you get information from) • Use notebooks during labs & tests • Without notebook, no answers to related questions • Can also use book, but book less useful than own notes
PowerPoint Slides • Students need to take notes on their own • Writing increases odds of remembering ideas • Really, really bad idea to not take notes • Trapped me into specific way of lecturing • Limited opportunities to use clever memory tools • Lectures often resembled
Workings of My Slides • Slides contain many pictures, little text • Lectures interesting & fun (or at least better) • Provides you with good way to reinforce lessons • Increasingly suckas actual notes • Print handout & take notes on the side as we go • Make sure to write down steps shown in animations • Slides (with notes) usable on tests, labs, class… • Win-winproposition • (Except for the lazy ones of you…)
Collaboration • Fellow students are a great resource • Provides multiple viewpoints & understandings • Get together, discuss material, and study • Can have them answer lingering questions • Clarify assignment and what it requires • Learn and practice some basic social skills
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 • Solutions always unique after waiting • Step away from computer when discussing code • When in doubt, ask me
Coding Help • Will work on testing & debugging skills • To get debugging help in CSC213 • Method(s) must be commented (javadoc) • Must use a trace or similar to look for bug • Students find own solution once they start doing this • If problem not fixed, gives us starting point to work • Learn to fix your own errors & not rely on the Professor
Textbooks • Goodrich & Tamassia , Data Structures and Algorithms in Java, 4th Edition, Wiley, 2006. • Same as we used last term • Nothing to buy this term! • Save up your money for really nice bribe • Covering remainderof the textbook
Textbooks • Goodrich & Tamassia , Data Structures and Algorithms in Java, 4th Edition, Wiley, 2006. • Same as we used last term • Nothing to buy this term! • Save up your money for really nice bribegift • Covering remainderof the textbook
Course Website • Pages for course found on Angel • Handouts, slides, assignments posted before class • Can also find solutions after work is due • May not include everything said in class • Better than nothing, but worse than being here!
There isreading for Friday Start talking about how large programs created Reading available as link on Angel There is also reading for lab tomorrow Link found in today’s reading lecture schedule in Angel Must bring in 1st part of weekly assignment: Draw picture(s) of traits good programmers have For Next Lecture