csc 107 – programming for science

35
CSC 107 – PROGRAMMING FOR SCIENCE Prof. Matthew Hertz SH 1029F / 888-2436 [email protected]

Upload: twila

Post on 22-Feb-2016

33 views

Category:

Documents


0 download

DESCRIPTION

Prof. Matthew Hertz SH 1029F / 888-2436 [email protected]. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CSC 107 –  Programming For  SCIENCE

CSC 107 – PROGRAMMING FOR SCIENCE

Prof. Matthew HertzSH 1029F / 888-2436 [email protected]

Page 2: 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

Page 3: CSC 107 –  Programming For  SCIENCE

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

Page 4: CSC 107 –  Programming For  SCIENCE

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

Page 5: CSC 107 –  Programming For  SCIENCE

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

Page 6: CSC 107 –  Programming For  SCIENCE

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

Page 7: CSC 107 –  Programming For  SCIENCE

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

Page 8: CSC 107 –  Programming For  SCIENCE

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

Page 9: CSC 107 –  Programming For  SCIENCE

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

Page 10: CSC 107 –  Programming For  SCIENCE

Expectations of Me

Lectures prepared and organized Give interesting, thoughtful, fun

problems Be (reasonably) available to answer questions Be honest and forthright

Page 11: CSC 107 –  Programming For  SCIENCE

Expectations of Me

Lectures prepared and organized Give interesting, thoughtful, fun

problems Be (reasonably) available to answer questions Be honest and forthright

Page 12: CSC 107 –  Programming For  SCIENCE

Why Most Classes Suck

Page 13: CSC 107 –  Programming For  SCIENCE

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 & why demonstrates

mastery

Class participation is vital Need to understand problem to adjust

approach

Page 14: CSC 107 –  Programming For  SCIENCE

Adult Learning

Students read 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

Page 15: CSC 107 –  Programming For  SCIENCE

Adult Learning

Page 16: CSC 107 –  Programming For  SCIENCE

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

Page 17: CSC 107 –  Programming For  SCIENCE

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 responsible for every class

Missing class is never acceptable excuse

Best way to earn a poor grade: skip class

Page 18: CSC 107 –  Programming For  SCIENCE

Deadlines

Have 2 virtual “extensions” Each provides a 1 day extension on

assignment Can use both on 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

Page 19: CSC 107 –  Programming For  SCIENCE

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

Page 20: CSC 107 –  Programming For  SCIENCE

Grading Philosophy

Doctor Who Cures You

Doctor Who Works Hard

Would you rather have:

Page 21: CSC 107 –  Programming For  SCIENCE

Course Grading

Midterm 26%Final 30%

Projects 24%Weekly

Assignments 11%Daily Activities 9%

Grades available via Angel Midterms given on Oct. 5th and

Nov. 12th

3 programming projects during semester

Page 22: CSC 107 –  Programming For  SCIENCE

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

Page 23: CSC 107 –  Programming For  SCIENCE

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

Page 24: CSC 107 –  Programming For  SCIENCE

Weekly Assignments

Posted on CloudCoder – new experimental system

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

Page 25: CSC 107 –  Programming For  SCIENCE

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

Page 26: CSC 107 –  Programming For  SCIENCE

Students During Lecture

Page 27: CSC 107 –  Programming For  SCIENCE

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…

Page 28: CSC 107 –  Programming For  SCIENCE

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

Page 29: CSC 107 –  Programming For  SCIENCE

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

Page 30: CSC 107 –  Programming For  SCIENCE

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

Page 31: CSC 107 –  Programming For  SCIENCE

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

Page 32: CSC 107 –  Programming For  SCIENCE

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!

Page 33: CSC 107 –  Programming For  SCIENCE

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 easier to 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?

Page 34: CSC 107 –  Programming For  SCIENCE

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 easier to 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?

Page 35: CSC 107 –  Programming For  SCIENCE

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 easier to 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?