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:

Section001

Section003

 

Contact Information:

Instructor: Irina Hashmi

Office: Engineering Building # ENGR 5345

Office Hours:

Monday 10:30 – 12:00PM

Wednesday 10:30 – 12:00 PM

Thursday: 4:50 – 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.