Syllabus for ISTA 130: Computational Thinking and Doing
Total Page:16
File Type:pdf, Size:1020Kb
Syllabus for ISTA 130: Computational Thinking and Doing University of Arizona, Fall 2011
University Catalog Description: An introduction to computational techniques and using a modern programming language to solve current problems drawn from science, technology, and the arts. Topics include control structures, elementary data structures, and effective program design and implementation techniques. Weekly laboratory.
Perquisite: Math 110 (College Algebra) or equivalent is strongly recommended
Course Objective: Students will learn and practice concepts of Computational Thinking, including problem abstraction, solution decomposition, and the use of software development in Python to direct computers to solve computationally-oriented problems.
When/Where: Lectures in CESL 102 Tuesday and Thursday from 5:00 pm to 6:15 pm Labs in Gould-Simpson 930 begin 29-August (no lab on 22-Aug):
Section Mondays Where Section Leader B 10:00 - 11:50 am 930 Gould Simpson (GS) Denise Werchan C 12:00 - 1:50 pm 930 Gould Simpson Vicki Springmann D 2:00 - 3:50 pm 930 Gould Simpson Alex Pemberton E 4:00 - 5:50 pm 930 Gould Simpson Simon MacDonald
Instructor: Rick Mercer with office hours in Gould Simpson 727, Mondays and Wednesdays from 11:30 to 12:30, Tuesdays 3:304:30, or by appointment: [email protected]
Textbook: Python Programming: An Introduction to Computer Science, 2nd Edition, John Zelle, Franklin Beedle and Associates, ISBN 9781590282410 ($45.00 new from publisher). Book website: http://mcsp.wartburg.edu/zelle/python/
Web Site: Our course website with frequent updates: https://sites.google.com/site/ista130/
Course Grade Letter Grade
16% Labs and Assignments A >= 90% 34% Programming Projects B 80.0 through 89.9 14% Quizzes C 70.0 through 79.9 18% Midterm (Tuesday 11-Oct) D 60.0 through 69.9 18% Final Exam (Tuesday 13-Dec 3:30 pm) E < 60.0
Mid Term and Final: If you are unable to take the midterm or the final exam at the scheduled time for a valid reason, you must contact Rick to get permission to take a makeup test. Unless you are physically unable, call Rick's office (621-6126) or send an email BEFORE the test with as much lead time as possible. Describe how you can be contacted to discuss how to make up the test. Without previous notification and a valid excuse you may not be able to make up the missed test. Documentation may be required. Notice the final exam due date. Do not make travel plans that would have you leaving before the final exam unless you are willing to accept a zero on your final.
Labs and Assignments: (≈ 36 at 10 pts each) Both the midterm and final exam in this class will cover a lot of material, more than most students could learn the night before an exam. To help you stay current on the material, we will have a variety of lab activities and short exercises to help you test your knowledge. ◦ Monday Labs (≈ 13): During your lab, you will have a set of activities to complete. Often these activities can be completed collaboratively with another student in your section. To get credit for these labs, you must attend the lab. Labs cannot be made up. (10pts each) ◦ Online Quizzes (≈ 9): Before some lectures, you will complete a D2L quiz related to the assigned reading. There is a set time to take them after which D2L will not allow you to take the online quiz, (10pts each) ◦ Python Coding Bats (≈ 8): This online tool allows you to practice solving many small problems using Python with feedback about whether your solution worked or not. These can be done from any Internet connected computer. (10pts each) ◦ In-Class Activities (≈ 8): Occasionally, we will pause during lecture to have the class, in small groups, discuss a question and arrive at an answer. You must be in lecture that day to receive credit. (10pts each)
Together, the total possible points from these activities will be 16% of your grade in this class. We're not trying to increase your stress; rather, the idea is to help you test yourself, so that you know where you need to improve in anticipation of the next exam. These Labs and Assignments also are designed to help you succeed at completing the Programming Projects. Labs and Assignments not turned in by the due date and time will result in a grade of zero. There are many Lab and Assignment grades (≈36 for 360 points). To account for the occasional missed or lowscored assignment, we will be dropping the 6 lowest Lab and Assignment scores. You can miss six lectures and/or labs due to illness or transportation woes and still receive 100% for this portion of your grade.
Quizzes: (≈ 9) There will be about nine unannounced quizzes, of which only your best six scores will be counted. There may be weeks with no quiz, but there may be weeks with multiple quizzes. The quizzes will not be on predictable days of the week but are usually given at the end of the class period. There will be no make-up quizzes because only your best six quiz scores will count. This gives you multiple opportunities to have an off-day or to miss a quiz for whatever reason and still be able to have a perfect quiz average at the end of the semester.
Programming Projects: (≈10 at 100pts each) The major outside-of-class activity for this course will be developing weekly programming projects. We assign them so that you will learn how to write complete, functional, and understandable computer programs. The Department of Computer Science computers labs, located in Gould-Simpson rooms 228 and 930, will be available for your use for the programming assignments. These labs will be accessible to you 24 hours a day, seven days a week. You will also be able to complete your assignments using your own desktop or laptop computer. All of the software we use in this class will be freely (and legally!) available for you to download and install. If you do decide to use a system outside of those labs for your assignments, it's your responsibility to learn how to set it up and use it effectively, though we will help you when we are able. So that the section leaders can test and grade your programs, you'll be required to electronically transfer ("upload") the source code to D2L before the due date. Be certain that your program runs correctly before you submit it, because we will test them extensively to be sure they work as expected.
Late Programming Projects: Each programming assignment will have a clearly stated due date and time, typically in the evening of a weekday. Electronic submissions received after that date and time will be considered late. Programs submitted within the first 24 hour period after the due date and time are considered to be one day late. Submissions received within the next 24-hour period are two days late. Programs can be up to 3 days late at most. D2L will be set to no longer accept projects three days and 1 minute after the due date. Any day of the week, including Saturdays, Sundays, and all holidays, count as days for the purpose of determining lateness. You are granted five no-penalty late days. Each time a program is submitted late, you will lose no points until you have exhausted your late days. When your late days have been exhausted, you will lose 10 pts per day the program is late. For example, if a program is due at 10:00 pm on the 12th but you submit your code at 10:01 p.m. on the 13th, it is considered to be two days late. If you had three late days remaining, you'd lose two of them but would still be able to earn full credit on the assignment if it meets all requirements. If you had only one late day remaining, you'd lose one free late day and receive a 10 point late deduction (that is, your program will be graded out of a maximum of 90%).
Absence Policy: You are highly encouraged to attend all lectures and labs. We will be taking attendance during the labs and you will not earn credit for missed labs. We will not be taking attendance during lecture, however almost every Tuesday or Thursday lecture will involve either an unannounced in-class collaborative activity or an unannounced solo quiz. Missing any lab or lecture can indeed negatively affect your Lab and Assignments portion of your grade as well as the Quizzes portion of your grade.
Students with Disabilities: If you anticipate barriers related to the format or requirements of this course, please meet with me so that we can discuss ways to ensure your full participation in the course. If you determine that disability-related accommodations are necessary, please register with Disability Resources (621-3268; http://drc.arizona.edu/) and notify me of your eligibility for reasonable accommodations. We can then plan how best to coordinate your accommodations.
Software: We will be using Python 3.2 http://python.org/ to write programs. This programming language is free and available on Windows, Linux/Unix, and Macs.
Classroom Behavior: The University of Arizona has an explicit policy on disruptive behavior: http://web.arizona.edu/~policy/disruptive.pdf Included in disruptive behavior are cell phone, PDA, and pager use, laptop use, talking during lectures, sleeping, eating, arriving late or departing early (without prior notification), and newspaper reading. Such activities distract others and interfere with instructional activities. Again, students should use class time to further their learning, through active engagement with the material. Please treat each other with respect. Q&A with Piazza: This semester we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, our section leaders TA, and myself. Rather than emailing questions to the teaching staff, we encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email [email protected].
Academic Integrity and Penalties: Programming projects and assignments in this course require individual attention and effort to be of any benefit. Unless otherwise specified in the published assignment, all work is expected to be that of each student alone. You may not consult with others, except in ways specifically authorized by the course instructor. Students are responsible for understanding and complying with the University's Code of Academic Integrity. The Code can be found at this link http://deanofstudents.arizona.edu/codeofacademicintegrity. The full text is also available from the Office of the Dean of Students in Room 203 Old Main. Among other provisions, the Code demands that the work you submit is your own, and that graded programs and exams will not subsequently be tampered with. The Code also demands that you do not copy code when it is part of a published class assignment. It is immaterial whether the copying is done electronically, by retyping the code, looking at another's computer screen, or any other means. Violations of Academic Integrity will result in a report filed to the Dean of Students. Sanctions include receiving an E for the course, even if it is a first violation. If other reports have been filed from any department, the Dean of Students may issue more severe sanctions including suspension or expulsion from the university. You are better off receiving 0 for one project rather than an E for the course and a report on your University record. Avoid Sanctions by beginning your projects as soon as possible. Do not wait until the due date! Do not look at another person's test while the test is in progress. Do not look at other's code, even if it is just on the screen. Do not copy files. Do not give your code to anyone even if the other person promises not to turn it in as their own, in which case you who did all the work may suffer the same sanctions as the cheater.
Subject to Change: Information contained in this course syllabus other than the grading and absence policy is subject to change with reasonable notice.