/2143-ObjectOrientedProgramming

Object Oriented Programming using Python and C++

Primary LanguagePython

2143 Object Oriented Programming

Roster

Class Roster

  • Days: TR 11:00 p.m. - 12:20 p.m.
  • Location: BO 309
  • Final Exam: Tuesday May 9th, 1:00 p.m. - 3:00 p.m.
  • Dates: August 29 - Dec 9
  • Holidays:
    • Spring Break March 13-18
    • Easter Break April 13-14
  • Last Day for “W” @ 4:00 p.m. : March 27

Course Topics:

  • Abstraction
  • OOP Design
  • Classes & Methods
  • Encapsulation
  • Polymorphism
  • Overloading
  • Abstract Classes
  • Inheritence and Substitution
  • Introduction to UML
  • UML Relationships
  • Subclasses and Subtypes
  • Static and Dynamic Behavior

Learning Outcomes

This course focuses on the design and analysis of larger, more complex programs using an Object Oriented approach. The specific goals of this course are:

  • To know and use basic Python programming constructs for object-oriented problem solving incorporating the above topics.
  • To appreciate the role of algorithms and data structures in problem solving and software design.
  • To be able to design and implement a Python program to model a real-world system, and subsequently analyze its behavior.
  • To develop programming skills that can serve as a foundation for further study in computer science.

Grading:

Categories Grade
Exams (3)1 35% A 89-100
Programs (5-8)2 15% B 79-88
Homework/Quizzes3 25% C 69-78
Final4 20% D 59-68
Participation 05% F below 59

1. Lowest exam grade replaced by Final Exam grade (if beneficial and deemed ok by instructor).

2. Despite the low overall value of the programming portion of the course, ALL programs must be turned in running to pass the course. They don't have to be necessarily correct, but they must run and they need to at least approach the solution (a "Hello World" program will not work).

3. The worth of the "homework/quizzes" section of the course will be calculated by a function based on the number of assignments and quizzes. If zero homeworks / quizzes are assigned then they will be assigned a 0% portion. If at least 10 are assigned then the full 25% will be assigned as its weight. If the full weight is not used the class will decide how the remaining percentage points will be assigned.

4. Plane ticket prices, events like weddings, or trips out of the country are not valid excuses for missing the final exam at its scheduled time. I will not make accommodations for anything other than an issue vetted by the dean of students.

Misc:

  • https://stackedit.io/editor

  • https://app.classeur.io

  • Attending class is one of the primary keys to doing well in this class. Students may be dropped for excessive absences. There is no distinction made between excused and unexcused.

  • Make-up exams are not given. If I see fit, then I will replace a missed exam with your final exam test grade. If you do miss an exam without prior approval, a letter from the dean of students will be needed as an excuse.

  • A number of programming assignments will be made to code and execute. Microsoft Visual Studio 2013 or 2015 is recommended, although depending on class opinion, we may use QT4 for some assignments.

  • Programs containing syntax errors are unacceptable and will be returned without grading (your programs must work). All submitted programs need to be submitted via Github.

  • Periodically homework assignments will be taken up and graded. It is the student's responsibility to keep up with assignments and to ask questions over the assigned work, even if absent. All homework assignments are due at the specified time that may or may not be in conjunction with a class day. All assignments / homeworks will be uploaded via Github.