|
CM151 Introduction to Computational Methods
Fall, 2010
|
|
Contact Information:
|
|
|
| Lecture Period: TR 11:00 AM - 12:15 PM, Acopian Engineering Center 500 |
| Lab Period: TR 1:15 - 2:30 PM, Acopian Engineering Center 515 |
Contacting me:
- Office hours will be posted during the next week.
- I am most responsive to email.
- Catching me in between classes.
- I can be contacted by phone.
- Office voice mail is only checked during the week.
|
|
|
|
Course Description:
|
The
goal of this course is to teach science majors how to develop
tailored, flexible, and efficient working environments built from
small programs (scripts) written in the easy-to-learn, very
high-level language Python. The course will focus on examples and
applications of relevance to computational science: gluing
together existing applications and tools, e.g. for automating
simulation, data analysis, and visualization; steering simulations
and computational experiments.
This course is NOT for students intending to major in Computer
Science or Electrical & Computer Engineering. Those students
should take Computer Science 102 - Principles of Computer Science
I. This course does not count for credit towards a Computer
Science major or minor.
|
Learning Outcomes:
|
- An ability to apply a knowledge of computing to another non-computing discipline.
- An ability to identify a problem and define the computing requirements appropriate to its solution.
|
|
Course Textbook:
|
| Textbook: |
Python Programming: An Introduction to Computer Science (2nd Edition) |
| Author: |
John Zelle |
| Book Website: |
URL |
| Publisher: |
Franklin, Beedle and Associates Inc. |
| Link to Graphics.py: |
|
|
|
|
Course Resources:
|
Here are some Python resources that you might find helpful:
|
|
Project 2 Resources:
|
Here you will find resources that will be useful for project 2:
|
|
Submission Guidelines:
|
- All assignments will be submitted through the Lafayette College Moodle.
- All assignments are due before midnight the day of submission date.
- Late assignments will receive a reduced grade based on the following algorithm.
- Assignments that are 1-day late will be graded with a 10% reduction.
- Assignments that are 2-days late will be graded with a 30% reduction.
- Assignments that are 3-days late will be graded with a 60% reduction.
- Assignments that are submitted 3 days after the due date will not be graded.
- All dates are subject to change, which will be announced in lecture and given on this webpage.
|
Grade Breakdown:
|
| Exam 1 | 15% |
| Exam 2 | 15% |
| Final Exam | 20% |
| Average Lab Score | 15% |
| Project 1 | 10% |
| Project 2 | 10% |
| Homework | 10% |
| Averaged Quizzes (4 quizzes, 10 minutes each) | 5% |
|
|
Lecture Schedule:
|
| Week |
Lecture Topics |
Assignments |
|
Week 1 08/30/10
|
- Computers and Programs
- Discussion Slides
- Bug Stomachs
|
|
|
Week 2 09/06/10
|
- Writing Simple Programs
- Discussion Slides
|
|
|
Week 3 09/13/10
|
- Software Design
- Computing with Numbers
- Number Lecture Slides - Tuesday
- Number Lecture Slides - Thursday
|
Homework 1 -- Due Sept. 20th During Lecture
-
Chapter 1 --
- Discussion: 1
- Programming Ex.: 5
-
Chapter 2 --
- Discussion: 2 and 5
- Programming Ex.: 4 and 5
-
Chapter 3 --
- Discussion: 2 and 3
- Programming Ex.: 12
|
|
Week 4 09/20/10
|
- Objects and Graphics
- Lecture Slides
|
|
|
Week 5 09/27/10
|
- Computing with Strings, Lists and Sequences
- Tuesday: Lecture Slides (Please note, these may change.)
- Thursday: Lecture Slides
|
- From Discussion Chapter 5, do questions 1, 3, and 4
- Guess them first, then figure out the answer.
- If you are wrong, why are you wrong.
- Create a question for the exam you think is really hard, but possible to give on the exam.
|
|
Week 6 10/04/10
|
- Defining Functions
- Exam 1 (10/07/10)
|
|
|
Week 7 10/11/10
|
- Fall Break
- Decision Structures
|
|
|
Week 8 10/18/10
|
- Defining Functions
- Lecture Slides
- Making the future graph more functional:
- futval_graph1.py
- futval_graph2.py
- futval_graph3.py
|
|
|
Week 9 10/25/10
|
- Decisions and If-Else
-
File IO:
- fileIO1.py
- fileIO2.py
- fileIO3.py
- inputfile.txt
-
Conditionals and Looping:
- conditionals.py
- while-loop.py
|
|
|
Week 10 11/01/10
|
- Loop Structures -- Loop Lecture Slides
- Loop Examples:
- exampleLoops1.py
- exampleLoops2.py
- exampleLoops3.py
|
Homework (Due: Nov 16th, 2010 -- In Class)
- Chapter 5 -- Discussion : 3
- Chapter 6 -- Discussion : 3, 4, 5
- Chapter 7 -- Discussion : 1, 2
- Chapter 8 -- Discussion : 1, 2, 3
- Homework.pdf
|
|
Week 11 11/08/10
|
- Booleans -- Booleans Lecture Slides
- Boolean Examples:
- exampleBool1.py
- exampleBool2.py
- exampleBool3.py
- Simulation and Design
|
|
|
Week 12 11/15/10
|
- Simulation and Design
- exampleRand1.py
- Exam 2 (11/18/10)
|
Project 1 Due:
|
|
Week 13 11/22/10
|
- Project 2
- Thanks Giving Break
|
|
|
Week 14 11/29/10
|
- Data Structures
- Lists Lecture
- exampleLists1.py
|
|
|
Week 15 12/06/10
|
- Object Creation
|
Project 2 Due:
|
|
Week 16 12/13/10
|
- Final Exam: Wednesday December 15th (8am to llam)
|
|
|
|
Lab Schedule:
|
|
|
|
Intellectual Honesty:
|
All students will adhere to the policy of intellectual honesty as presented by
the Dean of Students. This policy covers the use of another person's writing,
use of reference materials, use of other student's work, working together, and
re-use of papers. If any intellectual dishonest is detected, the suspect
materials will be sent to the Dean of Studies for review.
|
|
|
Prof. Pfaffmann (pfaffmaj), Lafayette College, Last Modified: 08:30:2010-22:55:27
|