Download
prof matthew hertz sh 1029f 888 2436 hertzm@canisius edu n.
Skip this Video
Loading SlideShow in 5 Seconds..
CSC 107 – Programming For SCIENCE PowerPoint Presentation
Download Presentation
CSC 107 – Programming For SCIENCE

CSC 107 – Programming For SCIENCE

50 Views Download Presentation
Download Presentation

CSC 107 – Programming For SCIENCE

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Prof. Matthew HertzSH 1029F / 888-2436 hertzm@canisius.edu CSC 107 – Programming For SCIENCE

  2. Objectives Met in CSC107 • Develop solution over entire software lifecycle • Implement & test computational solutions • Know foundations of computers • Perform Boolean logic • Trace and analyze algorithms

  3. High-level Objectives • Learn how we solve problems using a computer • For this course, focus on scientific problems • Logical, methodical process used to write algorithms • Learn to master basics of software development • C/C++ concepts used by most programs • Skills needed to find & fix errors in code

  4. High-level Objectives • Learn how we solve problems using a computer • For this course, focus on scientific problems • Logical, methodical process used to write algorithms • Learn to master basics of software development • C/C++ concepts used by most programs • Skills needed to find & fix errors in code

  5. High-level Objectives • Learn how we solve problems using a computer • For this course, focus on scientific problems • Logical, methodical process used to write algorithms • Learn to master basics of software development • C/C++ concepts used by most programs • Skills needed to find & fix errors in code • Have fun

  6. High-level Objectives • Learn how we solve problems using a computer • For this course, focus on scientific problems • Logical, methodical process used to write algorithms • Learn to master basics of software development • C/C++ concepts used by most programs • Skills needed to find & fix errors in code • Have fun

  7. High-level Objectives • Learn how we solve problems using a computer • For this course, focus on scientific problems • Logical, methodical process used to write algorithms • Learn to master basics of software development • C/C++ concepts used by most programs • Skills needed to find & fix errors in code • Have fun

  8. High-level Objectives • Learn how we solve problems using a computer • For this course, focus on scientific problems • Logical, methodical process used to write algorithms • Learn to master basics of software development • C/C++ concepts used by most programs • Skills needed to find & fix errors in code • Have fun

  9. High-level Objectives • Learn how we solve problems using a computer • For this course, focus on scientific problems • Logical, methodical process used to write algorithms • Learn to master basics of software development • C/C++ concepts used by most programs • Skills needed to find & fix errors in code • Have fun

  10. Expectations of Me • Lectures prepared and organized • Give interesting, thoughtful, fun problems • Be (reasonably) available to answer questions • Be honest and forthright

  11. Expectations of Me • Lectures prepared and organized • Give interesting, thoughtful, fun problems • Be (reasonably) available to answer questions • Be honest and forthright

  12. Why Most Classes Suck

  13. Teaching Style • Reasoning more important than actual answer • Rarely re-asked question within class or afterward • Even if correct, lucky guesses not meaningful • Explaining how & whydemonstrates mastery • Class participation is vital • Need to understand problem to adjust approach

  14. Adult Learning • Studentsread material before class • Answer 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

  15. Adult Learning

  16. 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

  17. Attendance • Attendance is mandatory • Can miss up to 6 classes without penalty • From final grade 2 points lost for each add’l absence • If you know you will miss class, talk to me ASAP • You are responsiblefor every class • Missing class is never acceptable excuse • Best way to earn a poor grade: skip class

  18. Deadlines • Have 2 virtual “extensions” • Each provides a 1 day extension on assignment • Can use bothon 1 assignment for 48-hour extension • 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

  19. Grading Philosophy • Grades reflect student's demonstrated ability • Not a competition where grades are relative • I will quite happily give "A" to entire class if all earn it • "A" not automatically given to highest score in class • Remain fair for students past, present, & future • When in doubt, I consider what would be most fair • Hard work alone insufficient to raise a score • Working efficiently important life skill to be rewarded

  20. Grading Philosophy • Would you rather have: Doctor Who Cures You Doctor Who Works Hard

  21. Course Grading • Grades available via Angel • Midterms given on Oct. 5th and Nov. 12th • 3 programming projects during semester

  22. 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

  23. 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 • I am mean & like watching students suffer

  24. Weekly Assignments • Posted on CloudCoder– new experimental system • 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

  25. 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

  26. Students During Lecture

  27. 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 • Will suck as actual notes • Print slide handout & take notes on the side • Write down what the steps shown in animations • Slides (with notes) actually useful on tests, labs, class…

  28. 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

  29. 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 • Once started, each student should work alone • STEP AWAY FROM COMPUTER then talk code

  30. 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 • Once started, each student should work alone • STEP AWAY FROM COMPUTER then talk code • When in doubt, ask me

  31. Textbook • Albert & Breedlove, C++: An Active Learning Approach, Jones & Bartlett, 2009. • Areas of C++ overlapping C will be course focus • Will go through most of the textbook • Hit all key concepts you will need for future work • Book also excellent resource to look back on

  32. Angel Pages • 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!

  33. For Next Lecture • Mourn summer’s end & start of homework • For many, celebrate start of college life • Consider getting flash drive to hold coursework • Makes life much easierto have all your work to review • Read sections 3.1 – 3.7 for Wed. • Why is main so important for a C program? • What are comments & how do we write them?

  34. For Next Lecture • Mourn summer’s end & start of homework • For many, celebrate start of college life • Consider getting flash drive for next week • Makes life much easierto have all your work to review • Read sections 3.1 – 3.7 for Wed. • Why is main so important for a C program? • What are comments & how do we write them?

  35. For Next Lecture • Mourn summer’s end & start of homework • For many, celebrate start of college life • Consider getting flash drive for next week • Makes life much easierto have all your work to review • Read sections 3.1 – 3.7 for Wed. • Why is main so important for a C program? • What are comments & how do we write them?