C Sc 127A: Introduction to Computer Science University of Arizona, Spring 2012 Syllabus University Catalog Description (4 units) Programming in an object-oriented language such as Java with an emphasis on program development. Topics include types, control structures, classes, arrays. Weekly laboratory. This course cannot be taken if a student has credit in a higher level computer science course (CSC 245, 252, and all 300- and 400-level courses) Prerequisite This course is designed for students with no previous programming experience. Officially, the catalog prerequisite is: "Algebra recommended". This implies a certain level of sophistication in math. It will help if you know arithmetic, variables, functions, and the notation x0 through xn-1 to refer to a collection of numbers. We assume you are familiar with a computer (files, folders, email, and the Internet), but if you are not, you can get help from section leaders in the lab. Instructor Rick Mercer http://www.cs.arizona.edu/people/mercer. Office hours this semester: Open Door Policy in 727 Gould-Simpson or by appointment: 520.621.6126 mercer@cs.arizona.edu When/Where Common lectures on Monday and Wednesday @ 3:00-4:15 in CESL 103. You also have a one hour and fifty minute laboratory section on either Thursday or Friday in 930 Gould Simpson with approximately 25 students and your section leader: Section Lab Time in 930 Gould Simpson Section Leader 2 10:00 - 11:50 Thursdays Arman Reyes – acr3 at email 3 12:00 - 1:50 Thursdays Doyle Timberlake – dtlake at email 4 2:00 - 3:50 Thursdays Tyson Hoekstra – tyejae at email 5 4:00 - 5:50 Thursdays Wyatt Davis - wdavis40 at email 6 6:00 - 7:50 Thursdays Beth Steinke – esteinke at email 7 8:00pm – 9:50 pm Thursdays Beth Steinke – esteinke at email 9 11:00am- 12:50 am Fridays Teresa Frazier – fraziert at email 10 1:00 – 2:50 Fridays Kristle Schulz – kschulz at email Web Site The course website has all current course information. It is updated frequently with announcements, lecture outlines, homework, and projects https://sites.google.com/site/csc127a12/ Textbook The text book was written by your instructor. It is provided free as a pdf or as a self-published printed book from Lulu for $11 plus shipping http://www.lulu.com/product/paperback/c-sc-127a- introduction-to-computer-science/18789620 Course Philosophy and Learning Objectives The instructor and section leaders will facilitate lectures and recitation sections to help you learn the process of programming and guide you in developing skills that will serve you in this course, future courses, and industry. We ask you to take responsibility for your learning by attending lecture and lab, preparing for class, participating thoughtfully in all daily class activities, and respecting others. Course Grade Letter Grade 15% Labs and Homework 35% Programming Projects 5% Pop Quizzes 15% Test 1 Wednesday, 29-February 15% Test 2 Wednesday, 11-April 15% Final Exam Wednesday 9-May 1:00-3:00 A >= 90% B 80.0 through 89.9 C 70.0 through 79.9 D 60.0 through 69.9 E < 60.0 Test Makeup If you are unable to take a test or the final because of an extremely good reason, you must contact Rick before the test to get permission to take a makeup. Unless you are physically unable, call Rick's office (621-6126) or send an email BEFORE the test with as much lead time as possible. Describe 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. Labs and Homework (≈40, 10 pts each) The three tests will cover a lot of material, more than most students could learn the night before an exam. To help you stay current on the material, we will have a variety of activities to help you test your knowledge while keeping up with the course. ◦ Labs (≈14): During your lab, you will have complete activities. Often these activities can be completed collaboratively with another student in your lab. To get full credit for these labs, you must attend the entire lab. Do not come late or leave early unless posted. Labs cannot be made up. (0..10pts each) ◦ Online Quizzes (≈9): You will complete D2L quizzes related to the assigned readings. There is a set time to take each after which D2L will not allow you to take the online quiz. (0..10pts each) ◦ Coding Bats (≈9): This online tool allows you to practice solving many small problems using Java with feedback about whether your solution worked or not. These can be done from any Internet connected computer. (0..10pts each) ◦ In-Class Activities (≈8): Occasionally, we will pause during lecture to have everyone, in small groups (2 or 3) discuss a problem and arrive at an answer. You must be in lecture that day to receive credit. No makeups. (0..10pts each) We're not trying to increase your stress; rather, the idea is to help you test yourself, so that you know where you need to improve in anticipation of the next exam or programming projects. Lab and Homework activities are designed to help you succeed at completing the Programming Projects and prepare for the tests. Labs and Homeworks not turned in by the due date and time will result in a grade of zero. They can not be made up. Because there are many Lab and Homework grades, to account for the occasional missed or low-scoring Lab or Homework, we will be dropping the 6 lowest Lab and Homework scores. You can miss six lectures or labs due to illness or transportation woes and still receive 100% for this portion of your grade. Pop Quizzes (8) There will be eight unannounced quizzes. There will be weeks with no quiz. The quizzes will not be on predictable days of the week but are usually given at the end of the class period. There will be no make-up quizzes because only your best six quiz scores will count. This gives you multiple opportunities to have an off-day or to miss a quiz for whatever reason and still be able to have a perfect quiz average at the end of the semester. Final Exam The final exam will be comprehensive. It will have a format similar to that of the tests. If you miss the final under less than extreme circumstances, you will receive a score of zero for the final. At the end of the semester, your lowest midterm exam score will be replaced with a percentage-equivalent copy of your final exam score only if your final score is higher than at least one of your midterm scores. This is a potential bonus but never a penalty. This policy recognizes improved mastery of the material over the course of the semester. It can also help you if you did poorly on one of the tests. Programming Projects The major outside-of-class activity for this course will be developing weekly programming projects. We assign them so that you will learn how to write complete, functional, and understandable computer programs. The Department of Computer Science computers labs, located in Gould-Simpson rooms 228 and 930, will be available to work on your programming projects. These labs are accessible to you 24 hours a day, seven days a week with your CatCard. You will also be able to complete your projects using your own 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 projects, it's your responsibility to learn how to set it up and use it effectively, though we will help you when we are able. Each programming project will have its own specification and due date. All projects are worth 100 points. Programming projects will be turned in using an automatic feedback and grading tool known as WebCat. WebCat provides feedback such as your current score and hints for any part of the project is not working correctly. You may turn in programming projects as often as you wish. If you are willing to take the time and apply the effort, receiving 100% on every project is quite possible. The most recent submission will be counted unless you notify your section leader to grade an earlier submission (it is possible to have a higher grade on a previous submission). Late Programs Each individual programming project will have its own specification and due date. All programming projects are worth100 points. If you do not turn in a project on time, you will receive an automatic 10 point reduction for every 24 hours or portion thereof. A project that is 24 hours and 1 minute late would result in a loss of 20 points. Projects will no longer be accepted after 3 days from the due date for a maximum score of 70 points. You will receive a 0 if nothing is turned in within 3 days of the due date. Your final score cannot be less than 0. Recommendation: Begin your programming projects as soon as possible. Lab Makeup Lab activities are to be completed during your 1 hour and 50 minute lab in 930 Gould Simpson. There are no makeups if you miss lab. If you attend the full lab period but are unable to complete the lab, you may be given a new deadline for that week. If you show up late or leave early, you may not have the same chance to complete the lab and receive a lower grade. Absence Policy You are encouraged to attend all classes. Lecture attendance is not used in the grade computation but there are 16 lectures where a pop quiz or in-class activity will be completed as part of your grade. If you miss that lecture, you will receive a 0. Also, you will receive 0 for any missed lab. There are no makeups. The lowest 2 pop quizzes will be dropped and the lowest 6 labs and in-class activities will be dropped. Classroom Behavior The University of Arizona has an explicit policy on disruptive behavior: http://web.arizona.edu/~policy/disrupt.shtml Included in disruptive behavior are cell phone, PDA, and pager use, talking during lectures, sleeping, eating, arriving late or departing early (without prior notification), and newspaper reading. Such activities distract others and interfere with instructional activities. Again, students should use class time to further their learning, through active engagement with the material. Please treat each other with respect. Laptops are allowed, but if other students report them as disruptive, laptop use may be banned also. Students with Disabilities 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; drc.arizona.edu) and notify me of your eligibility for reasonable accommodations. We can then plan how best to coordinate your accommodations. Software at Home We will be using Java 6 and Eclipse 3.7 (Helios) in the lab and in lecture. Both are free and available on Windows, Linux, and Mac OS X. You can set up your home computer with the same tools used in lecture and in lab. https://sites.google.com/site/csc127a12/software-installs Academic Integrity and Penalties Programming projects and homeworks 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/odeofacademicintegrity. 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 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 automated grading tool we use encourages multiple submissions that provide feedback to allow 100% scores if you put in the effort. Section Leaders This course has a weekly scheduled lab facilitated by your section leader. These labs have a variety of activities including a chance to review lecture material, ask questions in a small classroom setting, and develop algorithms and code as a whole or in teams. All section leaders have taken CSc courses with section leaders. They also participate in a credit course designed to learn how to be an effective section leader. Section leaders grade programming projects and tests, develop and edit course materials, help make pedagogical decisions, keep the instructor up to-date with student progress, and provide assistance in the lab. Subject to Change Information contained in this course syllabus other than the grading and absence policy is subject to change with reasonable notice.