This course introduces students to some of the big ideas in computer science. It is intended for students who have no prior programming experience. It will excite students about the application of computer science to various disciplines, and show the social impact possible through the use of technology in developing regions, politics, medicine, and other fields. Several core concepts in computer science will be presented, including logic, problem-solving techniques, data representation, computer hardware, and hardware-software interaction. Students will leave this course with basic programming and problem-solving skills, increased technical literacy, and a greater ability to recognize problems that can be solved with technology.
Lectures in Henry Koffler Bldg, Rm 204. Mon/Weds/Fri 8:00-8:50am. This course also has a section component. The time and location varies by section, so check the course schedule for this info.
See class website.
The course will be a combination of lecture and discussion sections. Both will include in-class discussions and small-group activities. Assignments will be done individually and (if specified) in small groups.
At the end of this course, students will:
The main course website (benjdd.com/courses/cs101/fall-2017/) will host the majority of the content, including the syllabus, slides, lecture notes, and assignments. We will only use D2L for submitting assignments and posting grades. We will also use piazza for questions and discussion.
Below are the required and suggested texts for this course. You will not be required to do any reading from the texts in the suggested section that are purchase-only. They are listed as a helpful reference, and will come in handy if the student is interested in more in-depth reading on some topics we will be covering.
The instructor may assign additiona readings from online articles, blogs, papers, and library resources.
The points for this course are distributed as follows:
Final grades will be assigned by summing up the points earned from the exams, quizzes, and assignments. The final grade will be chosen based on the following rubric:
University policy regarding grades and grading systems is available at http://catalog.arizona.edu/policy/grades-and-grading-system
The Department of Computer Science Grading Policy is as follows:
The exams and quizzes will cover material discussed in-class and in the assigned readings. They will also draw from concepts that the students learn when doing the homework assignments. Exams and quizzes will be graded within one week of being given.
The midterm and final may include any material covered up to the point of the exam.
Quizzes will include material covered since the last quiz (or the beginning of the course, in the case of quiz 1).
There will be 13-15 homework assignments. The majority of these will be programming assignments. These assignments will be graded based on both program correctness (passing all of the test cases) and code formatting style (properly indenting code, good commenting, and following naming/style conventions). A few of the assignments will be written homeworks. In the written homeworks, students will solve logic problems, develop simple algorithms, write short-answer responses, etc. These will be graded by-hand by the instructors and teaching assistants. All homework assignments will be graded within one week after the last valid submission date.
There are no scheduled extra credit opportunities, but they may be assigned by the discretion of the instructor.
Exams and quizzes must be taken during the assigned class period. They may not be made up, except in the case of an emergency situation. If an emergency arises and a student is unable to take an exam or quiz because of it, students must provide documentation showing why they were unable to attend the exam or quiz.
Homework assignments are due at the date/time specified on each assignment. Each student will be allowed 3 late days over the course of the semester. If a student chooses to use a late day, they may submit a homework one day (24 hours) late without penalty. Only one late day may be used per assignment. Once all late days have been used, a late homework submission will result in a grade of zero.
See the “schedule” section of the course home-page.
If you are unable to take one of the mid-semester exams or the final exam at the scheduled time for a valid reason (extreme circumstance or emergency), you must contact Benjamin to get permission to take a makeup test. Unless you are physically unable, send an email BEFORE the test with at least 24 hours of notice. In this email, describe why you cannot take the exam at the scheduled time and location, and 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.
The major outside-of-class activity for this course will be developing weekly homework assignments. We assign them so that you will learn the concepts covered in lecture and learn how to write complete, functional, and understandable computer programs. You will have roughly 1 week for each homework assignment.
Sections will be held on Wednesdays at various times in Gould-Simpson 930. During your section, you will have a set of activities to complete. To get credit for these sections, you must attend. Attendance is recorded. You have 2 free misses. After two missed sections, each missed section thereafter will result in a 3% deduction from your final grade. Sections cannot be made up.
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 and/or TAs 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.
Each homework 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. Homeworks submitted within the first 24 hour period after the due date and time are considered to be one day late. Homeworks can be up to 24 hours late at most. D2L will be set to no longer accept homeworks 24 hours 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 have 3 free 24-hour late submissions. Only 1 may be used per homework assignment. Once you have used them all up, you will get a 0 if you turn an assignment in late.
Attendance for lectures is not recorded. However, each student is fully responsible for all material covered by reading assignments, lectures, and handouts.
Attendence for section is recorded, and is required.
This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email firstname.lastname@example.org.
Find our class page at: cs101 Piazza page.
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.
We will be writing programs with the Processing programming lanaguage, and corresponding IDE.
The University of Arizona has an explicit policy on disruptive behavior: http://policy.arizona.edu/education-and-student-affairs/disruptive-behavior-instructional-setting.
To foster a positive learning environment, students and instructors have a shared responsibility. We want a safe, welcoming, and inclusive environment where all of us feel comfortable with each other and where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.). Inclusive Excellence is a fundamental part of the University of Arizona’s strategic plan and culture. As part of this initiative, the institution embraces and practices diversity and inclusiveness. These values are expected, respected and welcomed in this course.
Students are asked to refrain from disruptive conversations with people sitting around them during lecture. Students observed engaging in disruptive activity will be asked to cease this behavior. Those who continue to disrupt the class will be asked to leave lecture or discussion and may be reported to the Dean of Students.
All students are expected to abide by the Universities “Threatening behavior policy” which can be found here: http://policy.arizona.edu/education-and-student-affairs/threatening-behavior-students.
All students are expected to abide by the Universities “Nondiscrimination and Anti-harassment” policy which can be found here: http://policy.arizona.edu/human-resources/nondiscrimination-and-anti-harassment-policy
At the University of Arizona we strive to make learning experiences as accessible as possible. If you anticipate or experience physical or academic barriers based on disability or pregnancy, you are welcome to let me know so that we can discuss options. You are also encouraged to contact Disability Resources (520-621-3268) to explore reasonable accommodation.
Please be aware that the accessible table and chairs in this room should remain available for students who find that standard classroom seating is not usable.
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.
The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors (such as physical or emotional harassment, dismissive attitudes, and abuse of department resources) will not be tolerated. The complete Code of Conduct is available on our department web site. We expect that you will adhere to this code, as well as the UA Student Code of Conduct, while you are a member of this class.
Information contained in this course syllabus is subject to change with reasonable notice.