COSC 115

Introduction to Web Authoring

Fall 2017


Dr. Beau M. Christ
Phone: (864) 597-4528
Office: Olin 204F
Office Hours: MTWRF from 1:30PM - 3:30PM

If you have any questions at all, feel free to contact me by email or phone, or stop by my office during office hours. You can also try to catch me at other times or make an appointment. I am always happy to talk!

Dmitriy Kaplun
Available Hours:
  • Sunday from 1:00PM - 3:00PM in Great Oaks
  • Monday from 5:00PM - 7:00PM in Olin 112A
  • Tuesday from 6:30PM - 8:30PM in Olin 112A
  • Wednesday from 4:30PM - 6:30PM in Olin 112A
  • Thursday from 6:30PM - 8:30PM in Olin 112A

Feel free to ask the TA for help understanding any of the concepts.


We will meet every MWF from 10:30AM-11:20AM in Olin 103.


We will meet every MWF from 11:30AM-12:20PM in Olin 103.

  • Python Programming: An Introduction to Computer Science (2nd edition) by John Zelle.

  • Python: You will need to download and install a copy of the latest version of the Python programming language (Python 3.6).
  • PyCharm: We will use the PyCharm IDE in this course. The "Community" version is completely free to download.
Other Resources
Welcome to COSC 235: Programming & Problem Solving!

This is the first course of study for those going into computer science, and a course that I really feel everyone should take regardless of their major. Steve Jobs (co-founder of Apple Inc.) once said “I think everyone should learn how to program a computer, because it teaches you how to think. I view computer science as a liberal art, something everyone should learn to do.”. Computer science is exactly that: the formal study of problem solving. This course will teach you how to think algorithmically using the Python programming language. Topics will include introductory computer science concepts, Python 3 programming, program design and style, and problem solving (among others). The skills you will learn in this course are not only useful if you are studying computer science, but also applicable to a wide range of other disciplines as well.

Prerequisites: None (other than knowing how to use a computer such as working with files, installing/running applications, and using a web browser)

Catalog Description: Students learn to develop programs using an object-oriented language. Students are introduced to problem solving and algorithm development with emphasis on good programming style. Completion of this course with a C or higher is a prerequisite for all 300- and 400- level courses in Computer Science.

Course Goals
By taking this course, my goal is for you to:
  1. Gain a greater understanding of how computers work and how to use them
  2. Learn basic problem solving skills
  3. Learn the Python programming language (and learn how to learn new ones)
  4. Learn the basics of good program style and design
  5. Learn about top-down and object-oriented program design
  6. Be well prepared for further study in computer science
You will fulfill these objectives by:
  • Reading your textbook
  • Taking a weekly quiz
  • Completing a weekly programming project
  • Taking a midterm exam and a final exam
  • Being engaged during in-class discussions and activities
All grades will be recorded in Moodle as the semester progresses, including your final grade. Your final grade will be weighted as follows:

Homework (30%)
You will complete programming projects most weeks to obtain hands-on experience with computer programming. These will be completed using the Python programming language, and submitted via Moodle. All programming projects will be equally weighted, and each will be given a grade out of 10 points.

Quizzes (40%)
You will complete small quizzes most weeks 1) to help test your knowledge of things we discuss in class and read in our textbook, 2) to help you keep up in the course, and 3) to help me understand what topics need to be hit harder.

Quizzes will be given at the beginning of class on most Wednesdays, and you will have roughly 15–20 minutes to complete them. These will be closed-book, and will be pencil/pen and paper. All quizzes must be turned in when the time is up. Each quiz will be worth 5 points (five problems, some with multiple parts, each worth 1 point). An answer to a problem must be *completely* correct to be awarded a point. No credit will be given for an incorrect (or partially incorrect) answer. You must show your work for any problem that requires a sequence of steps to answer in order to receive a point for that problem.

The lowest 2 quiz scores will be dropped at the end of the semester.

Midterm Exam (15%)
You will be given a cumulative midterm exam toward the middle of the semester. This will act as a review over everything you have learned up to that point. There will be no quiz the week of the midterm.

Final Exam (15%)
You will be given a cumulative final exam during finals week. This will act as a review over everything you have learned throughout the semester.

Grading Scale
Grades will be rounded (92.49% = A- and 92.5% = A)
A A- B+ B B- C+ C C- D F
93% - 100% 90% - 92% 87% - 89% 83% - 86% 80% - 82% 77% - 79% 73% - 76% 70% - 72% 60% - 69% 0% - 59%
You are expected to attend class. Absences, however, are sometimes unavoidable. I appreciate an email letting me know in advance that you will be absent. You are responsible for catching up on missed classes. If you do not let me know ahead of time that you will be absent on a quiz/test day, you will not get a chance to retake the quiz/test. If you have an excused absence, contact me before the quiz to reschedule taking it.

Finally, in accordance with Wofford policy, you must be present for the final exam.
You are expected to use your computer to work along with the examples in class. I highly advise you not to become distracted with your devices (phone, laptop, tablet, etc.) for things other than course-related activities. Not only are you missing out and affecting your learning, but it is often a distraction to others as well.
You are expected to keep up with all coursework and due dates during the semester. Submitting coursework past the due date/time (even by a single minute!) will result in a 20% penalty for that particular assignment. After that, you have 24 hours to submit the late work. After 24 hours, the assignment will not be accepted under any circumstances and will receive a 0. There are a few reasons that are acceptable (medical, family emergencies, etc.), but I will usually only grant extensions for those cases when receiving an email or phone call before the due date. I will decide on a case-by-case basis, but having official documentation will help make your case. Quizzes and exams must be taken on their scheduled date and time. If you must miss class on the day of a quiz or exam, please contact me in advance. I will be much less likely to be forgiving if contacted afterwards. According to Wofford policy, you must be present during the final exam time.
I will use email for all communication. Feel free to contact me using "".
Academic Integrity
Please do your own work!
I have caught students cheating in the past, and take these matters very seriously. Any student I determine is guilty of academic dishonesty will receive a '0' for the assignment and have their case referred to the department and the college. You may discuss ideas and pseudocode with other students, but all work must be your own. I will be using software to analyze your code to see if it closely matches that of another student.

To make sure you realize what constitutes academic dishonesty, please read the Wofford Honor Code. You will sign every piece of work you submit, pledging that you agree to the Wofford Honor Code and that your work is your own. Please talk to me if you are unsure what constitutes academic dishonesty.
Reasonable Accommodations
If you need accomodations with anything, please contact the Wofford Accessibility Services at the beginning of the semester.


Coming soon...

Example Code

Coming soon...


Date Topic Due
Sept 5th Introduction
Sept 7th
Sept 12th
Sept 14th
Sept 19th
Sept 21st
Sept 26th
Sept 28th
Oct 3rd
Oct 5th
Oct 10th
Oct 12th
Oct 17th
Oct 19th
Oct 24th
Oct 26th
Oct 31st
Nov 2nd
Nov 7th
Nov 9th
Nov 14th
Nov 16th
Nov 21st
Nov 23rd
Nov 28th
Nov 30th
Dec 5th
Dec 7th
Dec 16th FINAL EXAM - Tuesday (9:00AM-12:00PM)