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.