COSC 235

Programming & Problem Solving


Syllabus


Please read this syllabus thoroughly!
Instructor

Dr. Beau M. Christ

Email: christbm@wofford.edu
Phone: (864) 597-4528
Office: Olin 204F
Office Hours: MWF from 1:30PM - 3:30PM and TR from 9:30AM - 11:00AM
Website: http://www.beauchrist.com


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!


Meeting Time & Location

We will meet every Monday, Wednesday, and Friday from 11:30AM-12:20PM in Olin 103.


Required Textbook

We will use Discovering Computer Science: Interdisciplinary Problems, Principles, and Python Programming (1st edition) by Jessen Havill.


Course Overview & Goals

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 solve problems and think algorithmically using the Python programming language.

Topics will include introductory computer science concepts (algorithms, binary numbers, abstraction, boolean logic, etc.), the Python 3 programming language, 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 computers including how they work, how to use them, and how to speak their language.
  2. Learn basic problem solving skills and how to formulate solutions to problems using algorithms.
  3. Learn the Python 3 programming language, as well as how to learn other languages.
  4. Learn the basics of good program style and design to write code that is easily read and understood by other programmers.
  5. Learn popular industry practices such as top-down design and object-oriented 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 multiple projects
  • Completing a final exam
  • Being engaged during in-class discussions and activities

Grading

All grades will be recorded in Moodle as the semester progresses, including your final grade. Your final grade will be weighted as follows:

Projects (40%)

You will complete multiple projects to obtain hands-on experience with computer programming. These will be completed using the Python 3 programming language, and will be submitted via Moodle. Every project will be equally weighted, and each will be given a grade out of 10 points.

Quizzes (40%)

You will complete small quizzes every week 1) to help test your knowledge of things we discuss in class and read in the textbook, 2) to help you keep up in the course, and 3) to help me understand what topics need to be covered better.

Quizzes will be given at the end of class every Wednesday, 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, each worth 1 point). An answer to a problem must be completely correct to be awarded a full point. 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.

Final Exam (20%)

You will complete a final exam that will review all of the concepts learned throughout the semester. It will essentially be a much longer quiz, and will occur on the scheduled final exam date.

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%

Policies

Attendance

You are expected to attend class. I do understand that absences are sometimes unavoidable, so 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 day, you will not get a chance to retake the quiz. 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.

Classroom

You are encouraged to bring your computer to work along with the examples in class. I highly advise you, however, to not become distracted by your devices (notebook, phone, tablet, etc.) for things other than course-related use. Not only are you missing out and inhibiting your learning, but it is often a distraction to others as well.

Lateness

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 project. After that, you have 24 hours to submit the late work. After 24 hours, the project 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 must be taken on their scheduled date and time. If you must miss class on the day of a quiz, 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.

Communication

I will use email for all communication. Feel free to contact me using "christbm@wofford.edu".

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 to be pursued further (trust me, you do not want that to happen). 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 understand what constitutes academic dishonesty, please read the Wofford Honor Code. By enrolling in this course, you are pledging that you agree to the Wofford Honor Code and that all submitted 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 both the Wofford Accessibility Services and myself at the beginning of the semester.