csc 107 – programming for science

Post on 22-Feb-2016

34 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

CSC 107 – PROGRAMMING FOR SCIENCE

Prof. Matthew HertzSH 1029F / 888-2436 hertzm@canisius.edu

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

Why Most Classes Suck

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

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

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

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

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

Doctor Who Cures You

Doctor Who Works Hard

Would you rather have:

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

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

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

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?

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?

top related