AU Core Banner

Sections 001 & 002

Section 003

Teacher Assistants

Coronavirus Policies

For more information about general policies regarding American University’s response to COVID-19, please refer to the full memo.

Academic Integrity

Even though we encourage collaboration with a partner, sharing code between groups is strictly forbidden - this is a form of plagiarism. Or showing your work to other students, even just for a second. There is rarely one single correct way to write code that solves a problem. While we want you to feel free to discuss your approach with a partner, you should know that there are often many solutions for a given problem, and it’s typically obvious when one student shares code with another. If you directly copy and paste code from the Internet (or even the text), cite your source in your comments (but also ensure that you understand what the code is doing - not all code on the web is good!). Assignments will be checked using plagiarism detection software and by hand to ensure the originality of the work.

Do not share your code with anyone other than a partner. Do not let someone look at your screen. You may get behind, or your friend may ask for help, but the consequences for plagiarism are far worse than an incomplete submission - for the submission, you will still likely get some points. If I suspect that you have purposely shared code with another student or presented someone else’s work as your own, the matter will be referred to the Academic Integrity Code Administrator for adjudication. If you are found responsible for an academic integrity violation, sanctions can include a failing grade for the course, suspension for one or more academic terms, dismissal from the university, or other measures as deemed appropriate by the Dean.

All students are expected to adhere to the American University Honor Code. Any questions regarding general rules and regulations should first be directed to the American University Catalog. If you still have questions, please seek out the TA or Instructor during the posted office hours.

Class Participation

It is expected that students will come to class, be prepared by doing the readings, and will pay attention and participate in discussions. Participation is scored by completion of assigned readings and in-class activities.

Attendance

You are required to attend all lectures. If you need to miss class for any reason, you are allowed two excused absences - no questions asked. Prolonged absences must be discussed with the instructor and are not guaranteed to be excused.

Use of Computers and Cell Phones in Class

Educational research shows that taking notes by hand on paper will lead to better retention of material than taking notes by typing. Also, in the past classrooms have had issues with students not only not paying attention but also disrupting others during class - by playing games, by accidentally clicking on a video with the sound on, etc.

If you have a laptop, you should bring it to class. Do not use it for in-class assignments unless you are directly advised to do so by the instructor. Throughout the semester we will frequently pause lecture to work together to solve programming challenges in groups.

Please do not use your cell phone in class.

Software Tools

In this course you will utilize an Integrated Development Environment (IDE) to write code. While many IDEs exist, examples and in-class support videos will utilize PyCharm by Jetbrains. It is freely available to students through an academic license and supports all the software development features that we will use in this course.

All assignments will be delivered to students and submitted back to the instructor through GitHub. If you do not already have an account, you should sign up for one prior to the beginning of class. Early lectures will discuss the possible methods of submitting assignments to help you determine what is most comfortable for you, but the recommended method is to use the built-in GitHub integration available within IntelliJ IDEA.

See the resources section for more information on the software tools used in this course.

Audio/Camera Policy

If meeting virtually, se strongly encourage you to turn on your camera during meetings and remote office hours. Faculty and students reported virtual classes are much better when we can see your faces because there is more visual communication, more engagement, sense of community and less multitasking. However, we understand that sometimes you can’t turn on your camera due to connectivity issues or privacy concerns. If you can’t connect with a camera, please upload a photo of yourself onto Zoom. If you have connectivity issues, please contact techtaskforce@american.edu.

Homework

Homework will be graded on a rubric of requirements that are expected to work correctly (e.g., returning the correct output for a given input). For most requirements, you will receive either a check plus, check, or check minus. Most tasks will receive a check. A check plus means “you impressed me”, and is typically achieved by checking for faulty input, elegant design, good comments, and/or a surprising approach. A check minus means the assignment is incomplete, incorrect, or sloppy in some way. Pluses and minuses are combined to give your grade for the assignment. A project receiving all check pluses will receive 100% of credit, while a project receiving all checks will receive a 90%. A project receiving minuses for all tasks will receive about 75% of credit, and a project that receives an X for all tasks will receive about 50% of credit or less. Tasks may be weighted differently to account for differences in difficulty or time. These are general guidelines to let you know what to expect. Grading on specific assignments may differ.

All assignments will be submitted through the class GitHub system, which will be introduced in early lectures. Students are allowed to work in pairs (no groups larger than two people unless directed otherwise) but you must specify who you worked with, and it must be clear that both students contributed (you will identify who did what in your submission). Students working together must equally contribute to the projects. Project submissions will be reviewed to ensure balanced contribution for paired submissions - grades will be scaled in situations where it becomes clear that one student did all the work.

  • Project submissions must be free of syntax errors. Project submissions that fail to compile will not be accepted under any circumstances. Ensure that your projects are free of syntax errors before you consider them complete.
  • Many students misinterpret the way that submission works on GitHub. This is not a “one and done” system where you only submit once (like Canvas). Instead, think of it like an online backup system (e.g., DropBox, Google Drive). Every time you make progress, it’s a good idea to upload the latest version to your online repo. This is not counted as your submission until the deadline is reached. Uploading not only lets you back up your work off your computer in case of hardware errors, it also makes it easier for your instructor or TA to provide early feedback or help you get unstuck. Upload often!

Late Submission

Assignments are due at the beginning of class on the specified date unless stated otherwise. Assignments turned in after this time will be penalized with a letter grade (10%) for each 24-hour period after the initial deadline. Submissions received 72 hours after the deadline will not be accepted. Submissions that do not compile will not be accepted. Some projects are larger than the others, and many are quite larger than homework assigned in the previous course. Students are therefore given multiple weeks to complete them. Waiting until the last minute is a recipe for disaster - if you are stuck, come to office hours for the instructor or TA ASAP to get unstuck!

Exams

Exams cover the material from the lectures, projects, and reading. While not necessarily cumulative, each exam will require understanding many of the concepts covered in the preceding exams. Exams consist of multiple choice, short answer, and long answer questions. Each exam, except the final, is weighted equally.

The final exam is cumulative: half of the final exam will be material covered for prior exams, half will be material that is new since the previous exam.

Grading for Section 001 & 002

  • Attendance and Participation: 5%
  • Quiz: in-class and take-home: 5%
  • HW Projects: 30%
  • Midterm Exams (2x 15 ea.): 30%
  • Final Exam (cumulative: half old, half new): 30%

Grading for Section 003

  • Attendance and Participation: 10%
  • HW Projects: 30%
  • Midterm Exams (2x 15 ea.): 30%
  • Final Exam (cumulative: half old, half new): 30%

Letter Grades

  • A [93, 100]
  • A- [90, 93)
  • B+ [87, 90)
  • B [83, 87)
  • B- [80, 83)
  • C+ [77, 80)
  • C [73, 77)
  • C- [70, 73)
  • D+ [67, 70)
  • D [63, 67)
  • D- [60, 63)
  • F [0, 60)

Students with Disabilities

If you wish to receive accommodations for a disability, please notify me with a letter from the Academic Support and Access Center. As accommodations are not retroactive, timely notification at the beginning of the semester, if possible, is strongly recommended. To register with a disability or for questions about disability accommodations, contact the Academic Support and Access Center at 202-885-3360 or asac@american.edu, or drop by the ASAC in MGC 243.

Academic Support

All students may take advantage of the Academic Support and Access Center (ASAC) for individual academic skills counseling, workshops, Tutoring, peer tutor referrals, and Supplemental Instruction. The ASAC is located in Mary Graydon Center 243. Additional academic support resources available at AU include the Bender Library, the Writing Center ( located in the Library), the Math Lab (located in Don Meyers Technology and Innovation Building), and the Center for Language Exploration, Acquisition, & Research (CLEAR) in Anderson Hall. A more complete list of campus-wide resources is available in the ASAC.

Tutoring

The Peer-Assisted Student Support (PASS) Program offers free, online tutoring in CSC-208. The PASS Program also provides tutoring in 20+ courses to students enrolled at AU in computer science, accounting, biology, chemistry, and several other academic disciplines.

To view the tutoring schedule, see our supported courses, and to meet with PASS Tutors, please visit WCOnline.

Acknowledgments

Course design by Alex Godwin at American University. Assignments and ideas on this syllabus build from the work of many other instructors in computing, including John Stasko at the Georgia Institute of Technology, Evan Peck at Bucknell, Keith Schwarz at Stanford, and Dave Reed at Creighton University.

If you have gotten this far in reading the syllabus, then Snoop and I applaud you.