what i saw during break
Post on 15-Feb-2016
35 Views
Preview:
DESCRIPTION
TRANSCRIPT
What I Saw During Break
CSC 213 – LARGE SCALE PROGRAMMING
Prof. Matthew HertzWTC 207D / 888-2436 hertzm@canisius.edu
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 coding ability 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
Why Most Classes Suck
Teaching Style
Reasoning more important than answer Once answered, rarely see question again Lucky guesses are not meaningful Explaining how & why demonstrates
mastery
Class participation is vital Need to understand problem to adjust
approach
Adult Learning
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
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
Deadlines
Have 2 virtual “extensions” Each used to get 1 day extension on
assignment Can use both on 1 assignment
Late work not accepted without extension If you know you cannot make a deadline,
talk to me Earlier we talk, the better we can find a
solution
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
Doctor Who Cures You
Doctor Who Works Hard
Would you rather have:
Course Grading
Midterms 32%Final 25%
Projects 21%Weekly Assignments 10%
Daily Activities 6%Program Portfolio 6%
Grades available via Angel Midterms given on Mar. 12th & Apr.
21st
3 programming projects during semester
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
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
Weekly Assignments
Posted on web/Angel each week Usually due by 5PM following Tuesday
Virtual extensions okay to use on 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
Students During Lecture
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 suck as 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-win proposition (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 remainder of 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 bribe
gift Covering remainder of 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!
For Next Lecture
There is reading 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
top related