Course materials and notes for Professor Moore's CS65 Intro to CS I
Meredith Moore
Assistant Professor of Computer Science
325 Collier Scripps Hall
meredith.moore@drake.edu
More about Professor Moore
T / R : 11:00am - 1:00pm
Friday : 11:00am - 12:30pm
Walking office hours Friday @ 1pm
Or by appointment
Schedule
Tutors are free and Zoom appointments can be made at the Tutoring Website
This syllabus is subject to change throughout the semester. This page will be kept up to date.
Welcome to CS65: Introduction to Computer Science! As the title suggests, this course is an introduction to the field of Computer Science (CS). Although most consider the terms “computer scientist” and “computer programmer” perfectly synonymous, the field is significantly broader than simply learning to write code. In reality, CS concerns the study of algorithms, which are step-by-step instructions to be executed by some actor, and of data structures, which are ways of representing information so that it can be efficiently processed by algorithms. Since algorithms and data structures are more general than just writing code, you may find that the skills you acquire in this course will apply in more situations than you expect.
By the end of this course, you will be able to:
Meredith Moore
meredith.moore@drake.edu
325 Collier-Scrips (office)
Monday and Wednesday:
Section | Time | Place |
---|---|---|
Section 0 | 12:30-1:45pm | Collier Scripps 301 |
Section 1 | 2:00-3:15 pm | Collier Scripps 301 |
As with all of Drake’s classes this semester, our first two weeks will be online. We will meet on Zoom for those meetings. Once we have completed the first two virtual weeks, we will return to in-person instruction. I record my lectures using Zoom and post the recording after the class. The Zoom link for the first two weeks of the course will be made public, but after that, I will use a different Zoom link (to encourage in-person attendance). If for some reason, you are unable to make the in-person class session, please email me and I will provide you with the zoom link for the day so you can attend class virtually. Please note I will expect you to be in attendance (virtual or in classroom) during the scheduled class times.
This semester, we will be using Calendly to schedule office hours. Feel free to grab more than one slot if you don’t think 15 minutes is enough time.
Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|
11:00 - 12:00 | 12:30 - 2:00 | 11:00 - 12:00 | 12:30 - 2:00 | email me if needed |
If you have a question, please send me an email or a message via Slack. The above hours are times that I guarantee i will be available for a virtual/in-person meeting. I will likely be in my office during the day whenever I am not in class or in a meeting. To guarantee a time we can meet outside of my office hours, contact me via email or Slack and we will set up a time when both of us are avaible.
There is no required textbook for the course. Assigned readings will be based on the free open-source textbook: Think Python (Second Edition)) by Allen B. Downey, 2015. Required readings from the above text will be posted on the blackboard website.
Four years of high school mathematics or MATH 20.
As much of the study of computer science requires logical thinking, students exposed to four years of high school mathematics or college algebra (MATH 20)should have sufficient problem solving skills to succeed in this course.
The schedule for the course can be found on the course homepage. It will be kept as up to date as possible. Course Content very approximately in temporal order:
We will be utilizing a combination of Slack, Email, and Blackboard for this course. The assignments will be posted to Blackboard and will be turned in using Blackboard. Should you have questions on an assignment, please either use Slack or Email.
The following table shows the categories of graded items and how much weight they each carry towards your final course grade:
Graded Items | Percentage |
---|---|
Homework Assignments | 40% |
Participation | 5% |
Labs | 10% |
Final Project | 15% |
Midterm Exam | 15% |
Final Exam | 15% |
Final grades will be awarded based on the following scale:
Percentage | Grade |
---|---|
92.0-100 | A |
90.0-92.0 | A- |
88.0-90.0 | B+ |
82.0-88.0 | B |
80.0-82.0 | B- |
78.0-80.0 | C+ |
72.0-78.0 | C |
70.0-72.0 | C- |
68.0-70.0 | D+ |
60.0-68.0 | D |
0.0-60.0 | F |
Percentages are not rounded when using this scheme, because this would be tantamount to moving all of the grade boundaries down by 0.5%.
Homework assignments are an important part of the course and constitute a large percentage of the final grade. It is imperative that students work on the material outside of class to solidify understanding and demonstrate mastery of the coursework. Homework assignments will consist of implementing algorithms and may involve traditional paper-and-pencil problems. Students who do not submit reasonable attempts at all of the homework assignments will not pass the course.
We will be using a technique called peer-instruction (PI). It goes something like this:
To keep track of your answers in this process, we will be using a tool called PollEverywhere. There is a small fee associated with PollEverywhere–you will be asked to pay the $13.99 and will be able to use PollEverywhere in your other classes for the year. Here is the link to register for PollEverywhere.
Your PollEverywhere answers will not be judged on correctness–we’re here to learn and will certainly make mistakes along the way. Instead, you will be given participation points for submitting your answers each day using PollEverywhere.
The in-person or class time meetings will involve many hands-on exercises (or “labs”) that will be done either individually or with a partner. The labs will be graded on a submitted (full credit) or not submitted (zero credit) basis. Keeping up with the content of the labs is an important component of the course as the labs will be foundational to the fundamental for the course.
The course includes a substantial project that is due at the end of the semester. More details will be announced later in the semester. The project will also include a final demonstration of the project. These project demos will take place during our assigned final exam period:
Section | Time | Place |
---|---|---|
Section 0 | Thu, May 12 12:00 – 1:50 pm | TBD |
Section 1 | Thu, May 12 9:30 - 11:20 am | TBD |
There will betwo exams in this course, both worth 15% of your grade. The first exam will be a midterm, and the second will be a final exam. The tentative dates of these exams are:
To encourage you to actively participate in Drake activities and to support your peers, you will receive 0.25% extra credit to your final grade for each instructor-approved activity that you attend (up to a maximum of 2%).
If you have an upcoming recital or any activity you’d like to invite your peers to, consider announcing it to the class. Your instructor will approve or disapprove posts on a case-by-case basis.
Note: To claim extra credit for attending an activity, send an email to your instructor with “Extra Credit” in the title and a brief description of what happened at the event.
Note: You will only receive extra credit for attending approved activities of your peers or general activities. You will not receive activities for going to your own recitals, for example.
Due dates for every assignment are provided on the course webpage as well as the course page in Blackboard. Unless otherwise stated, assignments are due on those days. However, I recognize that sometimes “life happens.” In these instances, you may use your allotted two flex days. These days allow you to submit an assignment up to two days late without penalty. You can use these days for any assignment and for any reason. You do not need to provide me with the reason: simply email me and tell me how many of your flex days you would like to use.
Once you’ve exhausted your flex days, then point deductions will occur for any assignment submitted after the deadline. An assignment submitted 24 hours of the due date will only be eligible for 90% of the maximum number of point allotted. Assignments submitted more than 24 hours after the due date will not be accepted. If you experience extenuating circumstances (e.g., you are hospitalized) that prohibit you from submitting your assignments on time, please let me know. I will evaluate these instances on a case-by-case basis.
There will be times in this class where you feel like you’re stuck–that’s perfectly okay and a big part of doing computer science. If you are stuck for longer than 30 minutes on one thing, please reach out and get help. Here are some things you can do to get unstuck:
Check out this page on how to get unstuck
If you have a question, don’t hesitate to post it on Slack. The #assignments
channel is a great place to discuss assignment related questions and the #general
channel is great for discussing any topic related to the class.
TIP: On Slack, you can tag me by adding
@Meredith Moore
to your message. This will notify me immediately of your post. You can also message me privately by sending me a Direct Message.
Drake University offers free tutoring services for introductory computer science students. If you are interested in scheduling an individual tutoring appointment, visit the Tutoring Services page.
Check out the Academic Success website. It includes a page for Skills for Success with excellent tips for management classwork. You may also find the following resources useful:
The lab exercises are intended to be done in collaboration. The solutions to these in-class exercises should be developed amongst class partners and multiple names should be included in comments in the submitted code.
You are encouraged to work with other students on homework assignments; however, every student must implement program code, perform experiments, and write up the accompanying results separately (unless otherwise specified).
Sharing completed solutions on the homework assignments (verbally, physically, electronically, etc.) is not acceptable. If you work with someone, you must say so somewhere in your assignment, and you must affirm that you in fact worked together and that no completed solutions were shared. For instance, in the comments of a program or at the top of a written page, you must write something like:
“I worked on parts X and Y of this assignment with person Z. No completed solutions were shared.”
Students are encouraged to seek out resources for help in understanding concepts when completing coursework. However, there is a big difference between seeking outside resources for help in understanding and searching for solutions. All solutions prepared with the aid of any source, however minor, must specifically cite those sources and explain the relationship of the submitted solution to the source. All citations must include author names, titles, publication information, and links to electronic sources when they exist. For programming code, all such citations and explanations should be included with comments. When in doubt, be open and transparent about the use of sources. This will shift the issue away from a question of academic integrity penalties to a question of how many points to award for your contributions. A violation of the course’s collaboration policy will also be considered an academic integrity violation.
The minimum penalty for a first violation of academic integrity will be a forfeiture of all points on the entire assignment or exam in question. A second violation will result in a grade of ‘F’ for the course. All violations will be reported to the College of Arts and Sciences Dean’s office as explained in the Academic Integrity Policy.
If you have a disability and require academic or physical accommodations in this course, please contact me and Student Disability Services (Michelle Laughlin, Director of Student Disability Services, at 2711835 or michelle.laughlin@drake.edu) in advance of the date the accommodations are needed. All requests for assistance must be received (at least) four full business days prior to the requested need.
Drake University offers free tutoring services for introductory computer science students. If you are interested in scheduling an individual tutoring appointment, visit the Tutoring Services page on the Cowles Library website. To see what slots are available, scroll down to the Math Tutoring section to see what times are open. (Math and CS are combined into one tutoring schedule since it is one department.)
When we do meet in person, we will all wear masks to minimize the likelihood of the spread of the novel coronavirus. Doing so is not only a requirement in our class, but is also a campus-wide policy. I will ask those who choose not to wear a mask to leave the classroom and, following guidance from the Provost’s office, I will alert the dean of students’ office.
If you test positive for Covid-19 or have been exposed and need to isolate yourself, please send an email to dos@drake.edu from your Drake email account and include your full name and student ID along with information about your situation. College and schools’ deans’ offices will then contact your professors, who will work with you to provide fully virtual learning opportunities during your quarantine and/or recovery. If possible, however, please also alert me directly that you will begin attending virtually, and I will work with you to help you make the transition to that modality. You do not need to tell me why you need to move to a virtual experience.
Please carefully monitor your own health and wellbeing throughout the semester, including frequently taking your own temperature. If you experience Covid-19 symptoms or a fever, even if you do not test positive, please do not come to an in-person class meeting. Fill out your information using the following Drake self-monitoring form.