David A. Sykes, Ph.D.
Section A: MWF 8:30am–9:20am in Olin 218.
Section B: MWF 11:30am–12:20pm in Olin 218.
TR 8:30–9:20 A.M., 2:30–3:30 P.M.
MWF 9:30–11:00 A.M, 1:00–2:30 P.M.
Or by appointment or happenstance.
One focus of this course is learning how to write computer programs using the Python 3 programming language. A programming language provides a way to express an algorithm such that a digital computer can run it.
Another focus is learning how to develop algorithms to solve problems, a critical step in writing programs.
By the end of the course, you should be able to:
Using Python 3 to Solve Problems Using a Computer, 2nd edition by David Sykes and Dave Toth, Linus Learning, ©2021, ISBN 978-1-60797-910-4. Note: I do not make any money from your purchase of this book.
You need an account for Mimir Classroom. Accounts are free. Most homework assignments, projects, and tests will be completed in Mimir. We will set up your account during the first class meeting.
You need an account at Piazza. Accounts are free. You will receive an email message inviting you to the class Piazza page.
We’ll be conducting all class-related discussion here this term. The quicker you begin asking questions on Piazza (rather than via email messages), the quicker you’ll benefit from the collective knowledge of your classmates and instructor. I encourage you to ask questions when you’re struggling to understand a concept—you can even do so anonymously.
The COSC 235 Moodle course page will have a link to Mimir and to Piazza. Scores for homework, exams, and projects will be recorded in Moodle. The cumulative grade shown in Moodle should reflect your final weighted score. If you notice a problem with the computation, please let me know and I will try to correct it.
Your grade for the course will be based on a weighted average of scores for quizzes, programming projects, and a paper/presentation. The usual grading scale applies: 93–100: A, 90–92: A-, 87–89: B+, 83–86: B, 80–82: B-, 77–79: C+, 73–76: C, 70–72: C-, 60–69: D, 0–59: F.
A final average will be calculated using two methods using weightings shown in the table. The higher of the two values will be mapped to a letter grade. Under Method #2, the homework and test components have a lower weightings, and the final exam is weighted more. Note: The Moodle Gradebook will reflect Method #1 weightings.
Component | Weighting #1 | Weighting #2 |
---|---|---|
Homework | 25% | 10% |
Projects | 30% | 30% |
Tests | 30% | 15% |
Final exam | 15% | 45% |
TOTAL | 100% | 100% |
Homework assignments prepare you for class. An assignment usually consists of some reading in the textbook and some exercises, often to be completed in Mimir. Homework is usually due two hours before the start of the class meeting for which it was assigned.
You are allowed to use any resources you find useful for completing homework assignments, including working with other students in the class. Your primary goal should be to get a perfect score on every homework assignment so you will be prepared for the next class meeting.
The homework component of the final weighted average is computed using a simple weighted mean of scores: the percentage obtained by dividing the sum of points you earned by the sum of point values for the assignments. For example, let's say there are two assignments, the first worth 15 points and the second worth 25 points. If your score on the first assignment is 9 and your score on the second is 21, then your score for both is (9 + 21) ÷ (15 + 25) = 75%. Note that the result can be different from averaging the percentage scores for the two assignments, ((9 ÷ 15) + (21 ÷ 25)) ÷ 2 = (60% + 84%) ÷ 2 = 72%.
You will take three tests during the semester. The first will be administered after we cover Chapter 7. The second will be administered after we cover Chapter 14. The third will be administered after we cover Chapter 18.
You may bring an index card, maximum size 6"×9", containing handwritten notes to each test.
The best way to learn to code is to write a lot of programs. Consequently, programming projects play a very important role in this course. Each of the projects will give you the opportunity to write a Python program that utilizes what you’ve learned so far. It is important that you start working on a project right after it is assigned so you can get help if you have trouble getting started or fixing bugs. It’s also important that you get each programming running correctly.
The projects component of the final weighted average is computed using a simple weighted mean of scores, the same method used for homework.
The final exam will assess how well you reached the objectives for the course. You must be present for the final exam.
You may bring an index card, maximum size 6"×9", containing handwritten notes to the final exam.
Most class meetings will start with a brief review of the homework assignment and continue with discussions and/or exercises based on what has been covered so far. Some in-class exercises will require you to work on a laptop computer (if you have one) or work with another student in the class. You may have a laptop computer open on your desk only if I direct you to use it. Most projects will be started during a class meeting.
You are encouraged to take copious notes during class. Take handwritten notes on paper or on a tablet.
Handwritten notes engage more of the senses. The brain is more active, so the learning process is enhanced. This is actually part of an area of study called “haptics.” Researchers in this arena are studying the way our minds and bodies interact in the learning process.
It’s the “tactile” or “kinesthetic” learning idea in action. The more physically active you are, including taking handwritten notes, the more likely you are to remember information well.
You may not use a laptop to take notes during a class meeting unless doing so is an approved accommodation.
You are expected to attend class meetings. The Class Attendance Policies described in the Wofford College Student Handbook (pp. 81ff) makes you responsible for catching up on missed classes. I suggest you find a “buddy” from whom you can get notes in the event you are absent. I will post links to handouts in Piazza. I will also post code (or links to code) that we write in class.
Do not attend class if you are not feeling well and might have a contagious illness. Seek medical attention at the Wellness Center. A doctor's note concerning absences is not required.
You must be present for the final exam.
You are expected to complete all assigned work on time.
I understand that sometimes you must miss a class, a test, or a project or homework deadline. As long as such occurrences are not excessive, I will work with you as best I can to help you succeed in the course.
You must meet homework and project deadlines. To submit your work late, you must contact me by 3:00 P.M. of the day before the deadline to request an extension. Your request must indicate how much more time you need. Assume that I will give you more time if you do not hear back from me. I will still expect you to submit by the deadline the work you have completed so far even if you are given an extension.
All questions about coursework, including about projects, must be posted at the Piazza Q&A page. If you send me a question via email or via private post that should be posted publicly at Piazza, I will direct you to post your question publicly. After you post it publicly, I will reply to the question.
Do not post working code at Piazza. Do not include in a response either “fixed” code or a detailed description of how to change code to get it to work. It is acceptable to post non-working code.
Feel free to respond to a question or to edit a response to a question. We are all learning together.
Note: Anonymous Piazza posts are anonymous to classmates but not to me.
It is appropriate to send me email messages for private matters, such as letting me know you will be absent or that you’d like to schedule a meeting.
I usually respond to email messages sent Sunday through Thursday within 24 hours and within 48 hours when sent on a Friday or a Saturday. I usually respond much sooner to Piazza posts since I have the Piazza app on my phone and receive notifications.
The Honor Code requires faculty, staff, and students to maintain a high standard of individual honor and integrity. Work represented as your own must be your own.
I encourage you to help others in the class or get help from others on projects. However, you may not write code for another student or provide code to copy. Conversely, you may not get code from another student. Doing any of these things is a violation of the Honor Code.
There is a distinction between collaborating and cheating.
When collaborating,
Ultimately, you must implement a solution to the problem yourself.
On the other hand, cheating occurs when
For some projects, you might be given an option to work with one other student in the class. In this case, you are allowed to share all your work with your teammate. However, you are expected to do all of the work together. One student should not work without the other present. However, one of you may meet with me without the other being present.
Don’t cheat because you are up against a deadline. Manage your time effectively. Start each assignment as soon as it is given. If you run into a glitch:
It is the policy and practice of Wofford College to create an inclusive and accessible learning environment. This course is intended for all students, including those with mental or physical disabilities, illness, injuries, impairments, or any other condition that tends to negatively affect one’s equal access to education.
If you have not yet established services through Accessibility Services, but have a temporary health condition or permanent disability that keeps you from fully accessing the space, content, and experience of this course, you are welcome (but not required) to visit the Accessibility Services Accomodations channel in my.wofford.
If you have already established accommodations with Accessibility Services, please communicate your approved accommodations to me at your earliest convenience so we can discuss your needs in this course.
The schedule below is based on chapters in the textbook. We will cover the chapters in order. If we can move faster, we will. The first test will be given after we complete Chapter 12. The second test will be given after we complete Chapter 19.
Fall Semester 2021 | ||||
---|---|---|---|---|
Mon | Tue | Wed | Thu | Fri |
Sep 1
|
Sep 2 | Sep 3
|
||
Sep 6
|
Sep 7 |
Sep 8
|
Sep 9 |
Sep 10
|
Sep 13
|
Sep 14 |
Sep 15
|
Sep 16 |
Sep 17
|
Sep 20
|
Sep 21 |
Sep 22
|
Sep 23 |
Sep 24
|
Sep 27
|
Sep 28 |
Sep 29
|
Sep 30 |
Oct 1
|
Oct 4
|
Oct 5 |
Oct 6
|
Oct 7 |
Oct 8
|
Oct 11
|
Oct 12 |
Oct 13
|
Oct 14 |
Oct 15
|
Oct 18
|
Oct 19 |
Oct 20
|
Oct 21
|
Oct 22
|
Oct 25
|
Oct 26 |
Oct 27
|
Oct 28 |
Oct 29
|
Nov 1
|
Nov 2 |
Nov 3
|
Nov 4 |
Nov 5
|
Nov 8
|
Nov 9 |
Nov 10
|
Nov 11 |
Nov 12
|
Nov 15
|
Nov 16 |
Nov 17
|
Nov 18 |
Nov 19
|
Nov 22
|
Nov 23
|
Nov 24
|
Nov 25
|
Nov 26
|
Nov 29
|
Nov 30 |
Dec 1
|
Dec 2 |
Dec 3
|
Dec 6
|
Dec 7 |
Dec 8
|
Dec 9 |
Dec 10
|
Dec 13
|
Dec 14 |
Dec 15 |
Dec 16 |
Dec 17
|