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 014 |
Section 015 |
Time |
7:30 am - 8:45 am |
10:30 am - 11:45 am |
Days |
Tuesday and Thursday |
Tuesday and Thursday |
Place |
Innovation Hall 327 |
Innovation Hall 223 |
Contact Information:
Instructor: Irina Hashmi
Room: Engineering Building # ENGR 5345
Office Hours: MW 11-12PM
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:
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
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 sort 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 timelimit 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 2 or 3 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. It is advised to not wait until last second to turn in the work.
Miss policy:
You will have total of four late dates to submit in-lab practice assignments, Bi-weekly assignments and projects. So you can use it upto 4 times during the semester and will not lose any points. Usually the missed assignments need to be submitted within the next 24 hours and for projects its usually 48 hours. 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 |
Aug 29, T |
Class intro |
|
|
|
NO LAB |
|
Aug 31, R |
Intro to computer programming with Python |
|
|
|
|||
2 |
Sep 5, T |
Values, expression, operators |
|
|
|
Lab Intro Python Install print |
|
Sep 7, R |
Variables, Type, Keywords |
Q1 |
|
|
|||
3 |
Sep 12, T |
I/O, comments First assignment discussion |
|
BWA1 |
|
Review week2 ILA1 |
|
Sep 14, R |
Errors, Intro to testing |
|
|
|
|||
4 |
Sep 19, T |
Prj1 discussion, Branching |
|
|
Project 1 |
Review Week3 ILA2 |
|
Sep 21, R |
Branching cont. |
Q2 |
|
|
|||
5 |
Sep 26, T |
Looping and sequence |
|
BWA1 DUE BWA2 |
|
Review Week4 ILA3 |
|
Sep 28, R |
Looping cont. |
|
|
|
|||
|
Oct 3, T |
Project 1 required |
|
|
|
Work on project 1 No ILAs!! |
|
Oct 5, R |
Midterm exam study guide |
Q3 |
|
|
|||
7 |
Oct 10, T |
CLOSED |
|
BWA2 DUE BWA3 |
|
Tuesday classes do not meet this week |
|
Oct 12, R |
Midterm exam review class |
|
|
Project 1 due (Oct 13) |
|||
8 |
Oct 17, T |
MIDTERM EXAM |
Review Week 5,7 ILA4 |
||||
Oct 19, R |
Functions |
NO QUIZ |
|
|
|||
9 |
Oct 24, T |
Functions cont., mid semester survey |
|
BWA3 DUE BWA4 |
|
Review Week 8 ILA5 |
|
Oct 26, R |
Understanding python documentation Python modules, Final project discussion |
|
|
|
|||
10 |
Oct 31, T |
Dictionaries |
|
|
|
Review Week 9 ILA6 |
|
Nov 2, R |
Dictionaries cont. |
Q4 |
|
|
|||
11 |
Nov 7, T |
Files Final Project Draft 1 |
|
BWA4 DUE
|
Final project draft 1 |
Review Week 10 ILA7 |
|
Nov 9, R |
Files cont. Final Project Draft discussion |
|
|
Final project feedback (tentative) |
|||
2 |
Nov 14, T |
Complex data structure |
|
|
Final project feedback |
Review Week 11 ILA8 |
|
Nov 16, R |
Final Prj discussion (if any), Exceptions |
Q5 |
|
|
|||
13 |
Nov 21, T |
Testing |
|
BWA5
|
|
Review Week 12 ILA9 |
|
Nov 23, R |
THANKSGIVING RECESS |
||||||
14 |
Nov 28, T |
Debugging Some common coding mistakes |
|
ExtraCredit (Dec 1) |
|
Review Week 13 ILA10 |
|
Nov 30, R |
Final Exam study guide, review class, Final presentation and documentation |
Q6 |
BWA5 DUE (Dec 3) |
|
|||
15 |
Dec 5, T |
Final Project presentation |
|
|
|
Review lectures and final study |
|
Dec 7, R |
Final Project Presentation |
|
ExtraCredit Due (Dec 15) |
Final Project Due (Dec 8) |
|||
16 |
Dec 14 |
FINAL EXAM |
|
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.