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:

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 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.