350 likes | 418 Views
Prof. Matthew Hertz SH 1029F / 888-2436 hertzm@canisius.edu. CSC 107 – Programming For SCIENCE. Objectives Met in CSC107. Develop solution over entire software lifecycle Implement & test computational solutions Know foundations of computers Perform Boolean logic
E N D
Prof. Matthew HertzSH 1029F / 888-2436 hertzm@canisius.edu CSC 107 – Programming For SCIENCE
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
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
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
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
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
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
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
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
Expectations of Me • Lectures prepared and organized • Give interesting, thoughtful, fun problems • Be (reasonably) available to answer questions • Be honest and forthright
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 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
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
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 • 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
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
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
Grading Philosophy • Would you rather have: Doctor Who Cures You Doctor Who Works Hard
Course Grading • Grades available via Angel • Midterms given on Oct. 5th and Nov. 12th • 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 • I am mean & like watching students suffer
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
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 • 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…
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 • Once started, each student should work alone • STEP AWAY FROM COMPUTER then talk code
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
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
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!
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?
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?
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?