CS 1112 Spring 2019 Syllabus
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.
- Course personnel are deeply committed to our university principles, and seek to make our class welcoming and safe to all.
- 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.
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
- 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.
- Everyone is to treat everyone with respect at all times. Violations can result in withdrawal from the course.
- Students with medical issues or learning needs that might require support or accommodations must indicate them during the first week of the course.
- Students with a priori constraints (e.g., athletics, performances, conferences, learning needs) must indicate them during the first week of the course.
- 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.
- If you suspect that you have learning needs, 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.
- 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.
- Final exam (37%): Thursday May 2 @ 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 grading scale is below. Rounding will be limited to students with frequent class participation
|A+ || 100 |
|A || 95 - 98 |
|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 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 principles can result in course dismissal, failing, and referral to the Honor Committee.
Message from the Dean of Students
- The University of Virginia is dedicated to providing a safe and equitable learning environment for all students. To that end, it is vital that you know two values that I and the University hold as critically important:
- Power-based personal violence will not be tolerated.
- Everyone has a responsibility to do their part to maintain a safe community on Grounds.
- 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.