[ Formal Data | Course Tools | Syllabus | Course Books | Course Schedule | CourseWeb | Knowledge Tree ]
This course is designed as an introduction to programming and programming language Python for the students who have no or very little programming knowledge and experience. It could be used as a praparation for more advanced programming courses as well as a self-contained course for those who want to use Python for their studies or professional work. The course is structured to benefit most to students who have information science and informatics orientation, however, it will be equally benefit those who are interested to use Python for text and data processing.
Upon satisfactory completion of this course, students will be able to write small meaningful Python programs that includes major control structures (such as loop, selection), programming patterns (such as maximum or sequential array processing), and data types. On the way to that goal we will have to learn a reasonable subset of Python language, explore many working examples and write multiple Python programs.
Important note: Since this course is targeted to the students who have no or very little programming knowledge and experience, it attempts to get you familiar with programming concepts and constucts at a slower pace that courses focuses on Computer Science majors. To help you in gaining programming skills we use an extensive volue of "smart" learning content such as interactive problems, program animations, and knowledge visualization. After IS12, you should be ready to tak a challenging programming course such as IS 17 or CS 401 even if you were a complete novice. Students with some good programming background may find this pace too slow and are strongly advised to proceed directly to IS17. If you have any doubt, scheck the course overview below to see what exactly will be taught. Vice versa, the students who experience problems when taking more fast and steep programming courses such as CS 401are strongly advised to try IS12 first.Programming courses are traditionally among the hardest and most time consuming courses. You will have to do a lot of work each weak to follow the course: do your readings, run and explore program examples, solve programming exercises and write programs as your homework. To help the complete beginners to master the subject, we have provided several learning tools. These tools do help a lot to those who use them - but the work with tools also requires time. To be on the safe side, plan to spend at least 6 hours outside of the classroom each week for this course. If you have some programming background, you may need less than 6 hours. However, some students may need more than that. Note also that you need to invest your time regularly. Almost every lecture is build upon material presented in several earlier lectures. A failure to comprehend just one lecture may get you out of track for the rest of the course. If you have too many other commitments this semester to allocate enough time every week, consider taking this course later.
Course assessment includes pop quizzes that will be offered through the course, homework assignments, and two exams - midterm and final. The final exam is not cumulative. You final grade has four components: class attendance, assignments, quizzes, midterm exam grade, and final exam grade. The lowest quiz grade will be excluded. and extra credit points.Exam grades will be scaled to adjust to the class performance.
Your progress will be measured as a percentage of the max possible points: (attendance_points + assignment_points + quiz_points + extra_credit_points + exam_points)/(max_attendance_points + max_homework_points + max_quiz_point s+ max_exam_points) * 100%. Using this formula you can always check where you are standing. Score < 50% corresponds to F, 50-62.5 is D range, 62.5-75 is C range, 75-87.5 is B range, and 87.5-100 is A range. Lower and upper parts of each range corresponds to - and + modifiers.
There are three kinds of homework assigments. Animations, Parson's problems, and Programming problems. All weekly assignments should be completed and submitted by the announced deadline. The first two kinds of assignments should be completed online through KnowledgeTree portal. To complete the programming assignments you need to write, debug, and submit Python program code solving a specific task. Programming assignments has to be submitted online through the CourseWeb. All submitted work should bear the number of the assignment and the author's name inside the program header comment. You will lose 0.1 point for every solution that lacks the header comment with this data. By submitting work under your name, you are indicating that you have completed the assignment. This means that you should be able to completely explain every line of code in your program. Failure to be able to account for your coding decisions will be reflected in your grade.
You are expected to be fully aware of your responsibility to maintain a high quality of integrity in all of your work. All work must be your own, unless collaboration is specifically and explicitly permitted. You are welcome to discuss the solution of programming exercises that are not graded. You are even encouraged to do it within study groups and using CourseWeb discussion forums. For graded homework assignments the only acceptable collaboration is to discuss the algorithm (the idea) of the solution. No collaboration on the level of program code is permitted. Every student has to write own program solution from the beginning to the end. You should not view or copy the code written by other students, neither should you share your code with others.
Any unauthorized collaboration or copying will at minimum result reducing credit for the affected assignment (50% for the first case, 100% for further cases) and may be subject to further action under the University Guidelines for Academic Integrity. You are expected to have read and understood these Guidelines. A document discussing these guidelines was included in your orientation materials.
The due date for assignments is strict. For any part of assignment completed and submitted after the due date you will lose 20% of your score for each late day. I.e., homework submitted one day after the deadline will bring you only 80% of earned points; two days after the deadline it will bring you 60%, etc.Weekends, holidays, or break days are not counted as late days. No assignment can be submitted after it was analyzed during the lecture.
You can also improve your submission or fix errors in your submission until the due date. Simply upload the new version.
If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Office of Disability Resources and Services, 216 William Pitt Union, (412) 648-7890 / (412) 383-7355 (TTY) as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course. If you would like any additional information, please take a look at: http://www.drs.pitt.edu
Copyright © 2015 Peter Brusilovsky