Fall 2019 Syllabus
It is an exciting time to be in computing. Class personnel look forward to introducing you to it, so that you can help make the world a better place.
We are UVA
- Our University is built on the richness of our differences and recogizes that everyone is created equal and entitled to equal rights, dignity, and respect. We must repudiate all that violate these principles through hate and violence. Power-based personal violence can not be tolerated.
- I and all course personnel are deeply committed to our university principles, and seek to make our class welcoming and safe to all. In fact, everyone has a responsibility to do their part to maintain a safe community on Grounds.
- As such, everyone is to treat everyone with respect at all times. Violations can result in withdrawal from the course.
To do list
- Consider watching the movie What about Bob? My pedagogical strategy for the course is based on the movie.
- We learn best, when we must invent. — Jean Piaget
- None of us can do everything, but each of us can do something. — Meryl Streep
- A new semester — Another chance for learning — Let's start right away
| Vienna Donnelly || Hallie Khoung || Brandon Nielsen |
| Ryan Green || Hao Liu || Jeanine Seaman |
| Nadia Hassan || Rachel McNamara || Jacob St. Martin |
| Ann Hoang || Monica Nguyen || Sophia Rogers |
- Office hours: MWF 3:30 – 4:30. Office hours will start in Rice 130 and continue in the Rice Atrium if we get displaced. After there is no more interest, Cohoon will move to Rice 426. Cohoon is generally available outside of office hours, you are welcome to stop by. If possible, please do not visit within one hour of class.
- When sending email include CS 1112 on the the subject line. Cohoon gives priority to processing messages from class members. However, what is generally the most effective in getting a response to a question is to ask make use of our Piazza messaging
- No prior programming experience
- Committed to be daily, active participants
- Seeks to develop computational thinking reasoning abitilies and digital problem-solving skills so that you can better accomplish your life goals. Digital reasoning will be expressed using the Python programming language.
- Exercise and improve problem solving skills
- Introduce computing fundamentals and an appreciation for computational thinking
- Develop a mental model of a computer and network behavior
- Impart understanding of the basic principles and concepts of object-oriented design and programming
- Introduce important computing ideas and principles
Skills and information to be acquired
- Can use, develop and test interesting software that interacts with users, file systems, and the world-wide-web
- The mantra of our time is that change abounds — information and digital technologies are continually transforming our society. All fields of endeavor rely upon these technological advances for their own progress.
- The concepts, materials, and skills that you you learn in this class will give you the ability to take problem in your chosen area and design an algorithmic solution, and if appropriate a program to help you work and think more quickly, easily, and reliably.
- To participate fully in every class meeting
- When possible to do with honor, help others learn and improve
- When there is doubt about honorability, ask before doing
- All assignments and exams are pledged
- If something is awry, let us know
- Get help before succumbing to frustration
- Our definition of computational thinking comes from Jan Cuny, William Snyder, and Jeannette Wing (see paper).
- Computational Thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent.
- For people who can handle an ebook consider The Coder's Apprenctice by Pieter Spronck. This resource considers many of the topics we will explore in this course, and often in the order we will explore them.
- For people who require a physical book, consider Starting Out with Python 3rd Edition by Tony Gaddis (ISBN: 9780133582734). The book is not required, and no homework will be assigned from it. What the book provides is a good reference to the planned course topics. The book is no substitute to being an active note-taking, question-asking class participant.
- There are also many freely available Python resources that we will make use of this semester.
- One such resource is the Hands-on Python Tutorial by Andrew N. Harrington. This resource considers many of the topics we will explore in this course, and often in the order we will explore them.
- Another resource is Automate the Boring Stuff with Python by Al Sweigart. This resource also considers many of the topics we will explore in this course. Something the instructors particularly like are the case studies Sweigart presents.
- The University makes available through its Virgo library portal are Python ebooks containing more info on Python than we will ever need. One such book is Learning Python by Mark Lutz.
Special circumstances — one-time, occassional, and ongoing
- Course personnel would like to see everybody succeeed. Students with medical issues or learning needs that might require support or accommodations please see me the first week of the semester so that the right arrangements can be made. You should also contact SDAC. This University resource has helped many students in the past to be more effective. Your tuition and fees are helping to support the center, so make use of it as appropriate. If SDAC has already approved a plan for you, I would appreciate you filling out a course form for me to give me details.
- Students with a priori constraints (e.g., athletics, performances, conferences) please communicate them with me at the start of the semester.
- Students who wish to request academic accommodation for a religious observance should first see me and then submit their request. Students with questions or concerns about accommodations for religious observance or religious beliefs should contact the EOCR office.
- Students with emergencies must indicate them as soon as possible to the instructor and to their undergraduate dean’s office. The instructor will react appropriately.
- Everyone must pledge to attend all classes with their laptops and to give each class their full attention.
- Inattentive behavior towards oneself (e.g., use of laptop during class for non-class purposes) or others is not permitted. Inattentive people will need to leave the class for the day or even the course in its entirety.
- Serious illness or death within your family, religious holidays and participation in field trips and athletic contests are all understandable reasons for missing class.
- Code or answers taken or adapted from sources outside the class is not allowed.
- Some assignments will be group efforts. There will be a component of the grading that measures participation. Failure to be an active, meeting-attending, contributing group member will result in a zero for the assignment.
- Our classroom has exits on both sides of the rear of the class. There is also an exit in the front of the classroom on the side opposite to the lectern.
- Disruptive group members should be reported to the teaching assistants and instructors. Do not directly confront a disruptive class member, do get yourself to safety.
- It is your responsibility to submit your work. Forgetting to do so is not a valid excuse.
- Work submitted after the deadline but within 24 hours of its due time is subject to a 20% penalty.
- Work submitted after the 24 hour grace period will not be graded.
- Test 1 (24%): ~ Friday, October 4 (Class 17)
- Test 2 (24%): ~ Friday, November 8 (Class 31)
- Final exam (37%): Friday, December 13 @ 2 PM
- Students with verifiable medical situations that cause missing a class or test will be handled on a case-by-case basis, where the default is making up the work by the next class period.
- Any test with an excused absence must be made up by the following class. Missing a test without a University-excused absence will default in a zero for that grade.
- Regrades must be requested within one week of the return of the work.
- Grade adjustments will never be made during class.
- Grade corrections based on grader miscalculation will be fixed as soon as they are identified.
- The Computer Science Department has set grading guidelines. They are as follows:
- “A” is used for students who demonstrate mastery of all learning objectives. An “A” should be seen as a recommendation that the student would likely do well in areas that depend on these objectives in the future.
- “B” is used for students who demonstrate competence in all significant learning objectives. A “B” should be seen as an acknowledgement that the student would be able to do well in areas that depend on these objectives in the future, but that their learning was incomplete; they are encouraged to review and improve in this topical area if it is a significant part of their future plans.
- “C” is used for students who demonstrate sufficient competence in enough of the learning objectives that subsequent work can be contemplated. A “C” should be seen as a caution that some aspects of the course seem to be missing or misunderstood and that future efforts in areas that depend on these objectives are likely to be challenging unless those gaps are first filled.
- “D” is used for students who demonstrate minimal competence in learning objectives, but not enough to recommend further studies or activities in related areas. A “D” should be seen as a prediction that future efforts in areas that depend on these objectives are unlikely to be successful unless the course that gave the “D” is first retaken.
- “F” is used for students who failed to demonstrate minimal competence in learning objectives. An “F” should be seen as indicating that future efforts in areas that depend on these objectives should not be undertaken without first retaking the course that gave the “F”.
- Misconduct or lack of professionalism may result in a lower grade than demonstrated competence would otherwise indicate. The scope and nature of such reductions, if any, may be determined independently for each course offering.
- The historic CS 1112 grading scale is below. Rounding will be limited to students with frequent class participation
|A+ || 100 |
|A || 95 - 99 |
|A- || 90 - 94 |
|B+ || 87 - 89 |
|B || 83 - 86 |
|B- || 80 - 82 |
|C+ || 77 - 79 |
|C || 73 - 76 |
|C- || 70 - 72 |
|D+ || 67 - 69 |
|D || 63 - 66 |
|D- || 60 - 62 |
|F || 0 - 59 |
- This class is built around all of us actively and honorably participating throughout the course. The course is dependent upon our community of trust and relies upon all class members to be faithful to it. Therefore, all assignments and exams are to be pledged.
- That said we do encourage the discussion of ideas. Collaboration in the form of common discussion is an effective learning practice. One person sharing an assignment or test solution with another would not be collaboration and is not permitted.
- That students follow class principles is what I truly expect will occur. Because there have been past exceptions to this expectation, the following notifications are necessary.
- Using solutions or others work in whole or in part from current or previous semesters or outside repositories is a violation of course principles. In particular, code or answers taken or adapted from sources outside our class is a violation of course principles.
- For individual-designated problems or exercises copying, sharing, or using improper resources is a violation of course principles.
- For multi-person-designated problems or exercises, copying, sharing, or using improper resources outside of one's group is a violation of course principles.
- Please be aware that there are sophisticated digital tools that the Computer Science department uses for analyzing solutions to ensure honorable efforts. These tools can compare solutions to those of current or prior semesters, as well as, external repositories.
- A violation of course pledge or principles can result in course dismissal, failing, and referral to the Honor Committee.
- Consider that homework is only worth 15% of your grade and there will be approximately thirty assignments. Strategic thinking here indicates that the downside penalties makes violations not worthwhile. Because test violations will result in maximum penalty, strategic thinking indicates again that the downside penalties makes violations not worthwhile.
- This syllabus is to be considered a reference document that can and will be adjusted through the course of the semester to address changing needs. It is up to the student to monitor this page for any changes. Final authority on any decision in this course rests with the professor, not with this document.