IT 209: Introduction
to Object Oriented Programming
Course Description:
Introduction to Object Oriented Programming (OOP) is
intended for students who want to advance their basic programming skill to the
next level by learning the OO programming paradigm. This course is designed to
teach the benefits of OOP, including faster development, code reusability and
less code maintenance. The course accomplishes the goals through hands-on
experience with a number of coding assignments. Topics include, but are not
limited to: OOP design, objects, class, methods, inheritance, testing,
debugging, graphical user interfaces (GUIs).
Class Time and Schedule:
Contact Information:
Instructor: Irina Hashmi
Office: Engineering Building # ENGR 5345
Office
Hours:
Monday 10:30 – 12:00PM
Tuesday 09:30 – 10:30 AM
Thursday: 5:00 – 5:50 PM
Email: ihashmi@gmu.edu
(PLEASE
NOTE my correct email address is ihashmi@gmu.edu, NOT ihashmi@masonlive.gmu.edu . They are not the same addresses.
If you send email to masonlive account, I will not receive it and hence you
will not hear from me.)
Website:
http://mason.gmu.edu/~ihashmi/
Course Syllabus:
The syllabus is available here.
Outcome:
At
the end of the course the student will:
· Learn the importance of
OOP programming in solving IT related problems.
· Understand the core
concepts of OOP through the Python programming language.
· Understand when to use
OO features and when not to use them
· Gain confidence in solving
problems by completing development projects of increasing
size and complexity.
Textbook:
· Python
3 Object-Oriented Programming - by Dusty Phillips
· Optional:
free Python wiki: available here
Course structure:
This will
be an interactive and hands-on course. Class and lab participation is compulsory because everything will be interlinked. The
class is designed in a way that if you attend class lectures and labs and
complete assignments you will succeed in the class. The course is composed of
both class lectures and lab lectures. The class will be held twice a week and
the lab will be once a week. The class lectures will be conducted by a teaching
professor and will emphasize understanding the core concepts of OOP through
presentations, demonstrations and discussion. The lab classes will be conducted
by a graduate teaching assistant (GTA or TA) and each will be divided into two
small modules: one in-lab practice assignment and one short review lecture. The
details will be uploaded in the class schedule. Students will be evaluated
through exams, quizzes and coding assignments and projects throughout the
semester. Students must attempt all the assigned work. These exercises will
help students to understand and get a good grasp on concepts and apply them to
their own areas of study.
Quizzes:
Anticipate
bi-weekly quizzes. These are based upon previously learned concepts. You should
prepare for quizzes by understanding the assigned reading and material
presented in the respective course sessions and labs. Quizzes are closed book
and you are not allowed to help other. If you miss a quiz at the beginning of a
class, you can take it at the end of that class.
Missed
quizzes cannot be taken later unless there is an unavoidable condition
(documented) or pre-agreement with the instructor. One lowest score will be
dropped.
Assignments and Projects:
Throughout
the semester we will use computer the laboratory to perform different types of
coding assignments and projects. These exercises will reinforce the materials
covered in the lecture
portion
of the course while also developing problem solving skills. Unless otherwise
stated by the instructor, all assignments are expected to be an individual
effort. Students are allowed to use their own computer apart from university
provided general purpose machines.
In-lab assignments (ILA): At the beginning of
each lab (unless otherwise determined by the instructor) there will be one
in-lab programming assignment. The assignments will be simple small problems
that will be based on previous class and lab lectures. This will help you to
better learn and understand the concepts. If you cannot turn it in during the
class time, you will have a limited amount of extra time after the class to
submit it, depending on the difficulty level of the assignment. One lowest
grade will be dropped.
Bi-weekly assignments (BWA): There will be
programming assignments that will be posted in Blackboard bi-weekly. These
assignments will be based on two or three key concepts learned in previous
classes, lectures and practice assignments. The assignments need to be
submitted via Blackboard by the posted deadline and will be given sufficient
time to complete depending on the difficulty level. One lowest will be dropped.
Final Project: The class will have
one final project. The project will be based on the core OOP concept. The
project will help students to think critically and independently, devise
algorithms and convert that thought into executable code for large, complex
real-life problems.
· All the assignments and projects MUST be
submitted via Blackboard by the posted deadlines.
· All the assignments, both in-lab and bi-weekly,
and project are considered as individual effort unless otherwise stated by the
instructor.
· This class strictly enforces GMU honor code
(please refer to Honor Code section) and any violation will be taken seriously.
Miss policy:
You
will have a total of two late
dates to submit in-lab and bi-weekly assignments. You will have 24 hours after
the due date to use your miss policy. So if your
assignment is due on Wednesday 11:50 PM then to use the miss policy you must turn
in the assignment by Thursday 11:50PM. Students must turn in the final project
by the due date since you will be given enough time to plan and complete it. If
you miss an exam for any condition, including a documented medical excuse, a
serious family emergency, or scheduled university approved off campus event,
you must arrange an alternate exam with the instructor.
Tentative Grading Breakdown:
To complete the course successfully you must attempt all the quizzes,
assignments, exams, and participate in both lecture and lab classes. Each
component of the course is weighted as follows:
Activity |
Percentages |
In-lab assignments
(ILA) |
10% |
Bi weekly
assignments (BWA) |
20% |
Bi weekly quizzes
(Q) |
10% |
Project |
10% |
Mid term |
20% |
Final |
30% |
Final grades will be posted in the patriotweb and you will be able to see
your progress in blackboard. The grades will not be emailed to you. A student
with any hold will not be able to access the final grade or register for the
course until the Registrar has removed the hold. According to the university
policy you will have a one regular semester to adjust or question your grade.
After that time has passed a grade cannot be changed by the system. Final
averages are assigned a letter grade according to the following conversion
system:
Percentage |
Grade |
>=
98.0 |
A+ |
>=
92.0 |
A |
>=
90.0 |
A- |
>=
88.0 |
B+ |
>=
82.0 |
B |
>=
80.0 |
B- |
>=
78.0 |
C+ |
>=
72.0 |
C |
>=
70.0 |
C- |
>=
60.0 |
D |
<60.0 |
F |
Honor code:
In this course you are expected to create your work on your own. Academic
dishonesty includes representing someone else's work as own, copy past or
current work as part or as whole from friend, relative, book, article, Internet
source, colleague, relative, faculty member, or from stranger. Academic
dishonesty can be plagiarism, collusion or any sort of cheating. Since most of
the assignments and projects you will be working on your own time, it is
expected that you work independently unless otherwise instructed by the
instructor. Submission of assignments under your name indicates that you
understand and agree to abide by the Honor System and Code of GMU (http://oai.gmu.edu/the-mason-honor-code-2/).
Any violations of academic honesty (http://oai.gmu.edu/the-mason-honor-code-2/)
will be taken seriously.
Disability Statement:
If a
disability or other condition affects your academic performance, document it
with the Office of the Disability
Services. Try to make arrangements early to
avoid any kind of problem during the semester and inform the instructor at
least one week before the semester starts.