What's New
Aug 25: First day of class. This web-page will be your main
source of information about this
class. Plan to check this page regularly.
Course Details
Textbook
|
How to Think Like a (Python) Programmer
by Allen Downey, 2007
Olin College, MA
Do not download the text from the above website.
This textbook is open-source; I am reorganizing it to match our course syllabus.
Readings from the textbook will be posted in PDF form when assigned under the syllabus section.
|
Overview
This course is an introduction to the study of computer science using the programming
language of Python. Topics covered will include
mathematical functions, string manipulation, logic and control structures, file input/output,
elementary data structures, and object-oriented programming. You
will learn the principles of problem solving, programming
and algorithm development in lab assignments, projects and exams.
We will be studying these computer-science concepts through an interdisciplinary approach
focused on the topic of intelligent life in the universe. Specifically, we will
be asking three main questions:
- What are the basic principles of life?
- What is intelligence?
- How can we communicate with intelligent beings?
Answers to these questions will be explored within the fields of astrobiology,
cognitive science, artificial intelligence,
mathematics and cryptography, and we will see how elements of computer science underlie
these disciplines.
Quizzes and Participation
You are encouraged to attend class and participate in discussions every day.
Sporadically throughout the semester, there will be short quizzes covering
material from the
previous class. These quizzes will serve as records of your attendance, and in total they
will comprise 5% of your final grade. Active participation in class discussions will
comprise another 5% of your final grade. This will be awarded for answering questions, asking questions,
presenting material, etc.
Extra Credit
Extra credit for this course can be earned by participating in the
Centenary Math Problem of the Week (POTW). Each reasonable submission will be worth an
additional 0.5% toward your final grade, CC me with your submission for credit.
Disabilities
Centenary assures students with disabilities equal opportunity to reach the same level of
achievement as other students. Strict confidentiality will be maintained on students with
disabilities. Services for students with disabilities are available through the
Counseling
Center, located on the ground floor of Rotary Residence Hall, phone (318) 869-5424.
Honor Code
All students are bound by the Honor System. The Honor System is applicable to all academic
work. See the Centenary College Handbook
for the complete Honor Code. You
may discuss topics with other students and tutors, but all code you write must be your
own, and you must be able to explain to me how it works. In this
course, it is a violation of the honor code to look at code from previous semesters or
in other students' directories.
Extensions
Extensions and rescheduling for labs, projects, exams and quizzes are only given when
circumstances beyond your control (e.g. being sick, choir or sports travel)
prevent you from completing a project on time. You must notify me either by
email or phone of your circumstances well in advance of the due date.
No extensions are given for requests made within three days of the due date.
Syllabus
We will be covering most of the material in the textbook, which will be released in
chapters each week.
You should view your textbook as another perspective on the material
presented in class and covered
in the labs. We will also be using additional supplemental material such as
relevant web-pages
and background material for the lab assignments.
Readings will be assigned before material will be covered in class. You are expected
to review the material and come to class prepared. As readings are assigned,
they will be posted here.
- August 25th
- August 27th
- September 8th
- September 15th
- September 22nd
- September 24th
- October 1st
- October 13th
- October 20th
- October 27th
- Zen and the Art of Motorcycle Maintenance
- November 10th
- December 1st
Labs
Much of your experience with programming in this course will be through weekly labs,
which will comprise 25% of your final grade. Each lab will be assigned in class with
time allotted to work through the materials, and will be due at the beginning of the next
class period. All labs are weighted equally within the Lab portion of your final grade.
You may work with a partner on the lab assignments if you choose. Their name must be
listed on any code you hand in as joint work.
Projects
You will have three projects in this course, one about every five weeks, for a total of
35% of your final grade. These projects will cover concepts we have
discussed in class and in labs, and will be due approximately two weeks
after they are assigned.
You must work individually on these projects.
You may discuss concepts and ideas with your classmates, but the code you turn in
must be your own. You will be graded not only on correctness, but also technique,
documentation and evaluation
of your solution. Further details on the grading standards and handin instructions
for each project will be given when they are assigned.
Exams
There will be two in-class exams, each worth 15% of your final grade. They
will consist of short answer along with writing and debugging code.
- Exam 1: Oct 8th, covering Chapters 1-7
- Exam 2: Nov 19th, covering Chapters 8-15
Grading
Your final grade for this course will be based on the Labs, Projects, Quizzes, Exams and
Participation described above.
Grading Scale |
90-100 | A |
80-89 | B |
70-79 | C |
60-69 | D |
0-59 | F |
|
Weights |
Labs | 25% |
Projects | 35% |
Quizzes | 5% |
Participation | 5% |
Exam 1 | 15% |
Exam 2 | 15% |
|
© Mark Goadrich, Centenary College of Louisiana