IT 106: IT Problem Solving (Python)

 

 

Course Description:

 

IT problem solving using Python is intended for the students who has no or very little programming knowledge. This course is designed to teach the importance of programming in solving basic problems, write small useful codes to achieve necessary goals irrespective of the student's’ major. The course accomplishes the goals through hands on experiences in the lecture class as well as through computer laboratory works. Topics to be discussed include but not limited to: variables, conditionals, functions, strings, iterations, storage types and files.

 

 

Class Time:

 

Section/Info

Section 008

Section 009

Time

10:30 am - 11:45 am

1:30 pm - 2:45 pm

Days

Tuesday and Thursday

Tuesday and Thursday

Place

Innovation Hall 129

Innovation Hall 222

 

 

 

Contact Information:

Instructor: Irina Hashmi

Room: Engineering Building # ENGR 5345

Office Hours: MTR 12:00-1:00PM

Email: ihashmi@gmu.edu

Website: http://mason.gmu.edu/~ihashmi/

 

 

 

Course Syllabus:

The syllabus is available here.

 

Prerequisites:

 

C or better is required in the following subjects:

1. IT 103 or IT 104 or IT 191

2. IT 102 or MATH 112 or MATH 125

Prerequisite enforced by registration system. Prerequisite courses must be completed prior to, not concurrently with, this course. If you are confused please contact the instructor to avoid any kind of confusion.

 

Textbook:

1.     Required: Python Programming for the Absolute Beginner, 3rd Edition Amazon link: https://www.amazon.com/dp/1435455002/ref=cm_sw_r_cp_dp_T2_JM-BzbPCJJ81T

2.     Optional: free Python wiki: available wiki (simpler than a python textbook, but contains more syntax than we will cover)

 

Quizzes:

 

Anticipate bi-weekly quizzes. These are based upon the previously learned concepts. You should prepare for quizzes by understanding the reading and materials presented in the respective course sessions and labs. Quizzes are closed book and you are not allowed to help others. If you miss a quiz at the beginning of a class, you can take it at the end of that class. Missing quizzes cannot be taken later unless there is some unavoidable conditions or pre-agreed with the instructor. One lowest score will be dropped.

 

 

Assignments and Projects:

 

Throughout the semester we will use computer laboratory to perform different types of coding assignments and projects. These sorts of exercises will reinforce to learn 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 practice assignments:

At the beginning of each lab (unless otherwise determined by the instructor) there will be one in-lab programming assignment that needs to be done in the first half of the class with the help of the lab instructor. The assignments will be simple small problems that will be based on previous class and lab lectures. This will help you to learn and understand the concepts better. Students will have certain time limit to turn in the work in blackboard depending on the difficulty level of the assignment. One lowest grade will be dropped.

 

Bi-weekly assignments:

 

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 and lectures and practice assignments. The assignments need to be submitted via blackboard by posted deadline and will be given sufficient time to complete depending on the difficulty level. One lowest will be dropped.

 

Projects:

 

The class will have two projects which will be an accumulation of multiple concepts. If you participate in the practice assignments and bi-weekly assignments then projects will not take long to finish. But it's always good to start early. The projects will help students to devise algorithms and convert that thought into coding.

 

All the assignments and projects MUST be submitted via blackboard by the posted deadlines and considered as individual effort unless otherwise stated by the instructor. If you have difficulty submitting through blackboard contact the lab TA for assistance or how to submit through BB. It is advised to not wait until last second to turn in the work.

 

Miss policy:

 

You will have total of three late dates to submit in-lab practice assignments and bi-weekly assignments. You can use it up to three times during the semester and will not lose any points. Usually the missed assignments need to be submitted within the next 24 hours. Suppose your due is on Thursday 11:50 PM then to use the miss date without losing any point you must submit by Friday 11:50 PM. You cannot submit late projects since you will have enough time to finish the work. If you miss exam for any conditions include a documented medical excuse, a serious family emergency, or scheduled university approved day off campus event, you must arrange exams with the instructor in advance (if possible) or within 48 hours for any unforeseen reason.

 

 

Tentative Grading Breakdown:

Activity

Percentages

Class participation

5%

In-lab practice assignments

10%

Bi weekly assignments

20%

Bi weekly quizzes

10%

2 projects

15%

Mid term

20%

Final

20%

 

 

Letter Grade 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

 

 

 

Class Schedule:

 

*Prj = Project, In-lab Assignment = ILA, Bi-weekly Assignment = BWA, Quiz = Q

** Please check patriotweb for your lab time

Week

Date

Topics

Quiz

Assignment

Project

Lab**

1

Jan 23, T

Class intro

NO LAB

Jan 25, R

Intro to computer programming with Python

2

Jan 30, T

Values, expression, operators

Lab Intro

Python Install print

Feb 1, R

Variables, Type, Keywords

Q1

3

Feb 6, T

I/O, comments

First assignment discussion

BWA1

ILA1

Feb 8, R

Errors, Intro to testing

4

Feb 13, T

Branching

ILA2

Feb 15, R

Branching cont.

Q2

5

Feb 20, T

Looping and sequence

BWA1 DUE

BWA2

ILA3

Feb 22, R

Looping cont.

Project1 Release (Feb 25)

6

Feb 27, T

Functions,

ILA4

Mar 1, R

Functions cont.

Q3

7

Mar 6, T

Project 1 Discussion

ILA5

Mar 8, R

Midterm exam study guide

BWA2 DUE

BWA3

8

Mar 13, T

No class Spring Break

No class Spring Break

No Lab

Mar 15, R

9

Mar 20, T

Midterm

No ILA

Work on Project 1

Mar 22, R

Understanding python documentation

Python modules, Final project discussion

BWA3 DUE

BWA4

10

Mar 27, T

Dictionaries

 

ILA6

Mar 29, R

Dictionaries cont.

Q4

Project 1 Due (April 1,11:50 PM)

11

Apr 3, T

Files

Final Project Draft

 

Final project draft submission

ILA7

Apr 5, R

Files cont.

Final Project Draft discussion

BWA5

BWA4 DUE

12

Apr 10, T

Complex data structure

Final project feedback (tentative)

 

ILA8

Apr 12, R

Final Prj discussion (if any), Exceptions

Q5

13

Apr 17, T

Testing

 

ILA9

Apr 19, R

Debugging, Some common coding mistakes

 

BWA5 DUE

14

Apr 24, T

Final presentation and documentation, Misc Topics

 

ILA10

Apr 26, R

Final Exam study guide, review class,

Q6

15

May 1, T

Final Project presentation

ILA11

May 3, R

Final Project Presentation

Final Project Due (May 6 11:50PM)

16

May 15

FINAL EXAM

10:30 - 1:15PM (section 008)

01:30 -   4:15PM (section 009)

 

Honor code:

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 Disability Services. Try to make arrangement early to avoid any kind of problem during the semester and inform the instructor at least one week earlier before the semester starts.