CS 107 Spring 2012 Syllabus This course and its students have been in the media! Check out these articles from the NY Times, O'Reilly Rader, Wired, Tech Crunch, SF Chronicle, and moreThe course fulfills the Core Math B2 requirement at USF and counts towards a CS minor. It also serves as excellent preparation for the first traditional programming course, CS 110. The course began as a pilot program sponsored by Google and with a few select universities. Google donated 20 Android phones to us, and early access to App Inventor, a visual programming environment for creating mobile apps. The course will provide you with a plethora of practical knowledge-- it may be the best USF core course in terms of helping students get jobs. In today's society, understanding the fundamentals of computing, the web, and the mobile world are crucial, no matter what discipline you choose. Perhaps most importantly, you will learn problem-solving skiils-- applied logic-- that can help you in every walk of life. Pre-Requisites: None-- you are expected to know nothing about computers. Meeting Times and Location: TR 9:55-11:40, Kudlick Multimedia classroom, Harney Science Center, RM. 235 Professor: David Wolber wolber@usfca.edu Office: Harney 529 Phone: 422-6451 Office Hours: TR 2:30-3:30, W 2:30-3:30, or by appointment TA: Paul Cafardo, Harney 530 or 535, pncafardo@gmail.com Office Hours: M 5-6, R Noon-1 Required Materials: Android phone or tablet. Each pair of students will be loaned a device for the semester. One of the pair will check out the phone from Gleeson library and return it at the end of the course. The student who checks it out is officially responsible for its return. As with any library check-out, you will be responsible for lost items. In this case, the charge is over $400, so be careful! Note: if you have an Android phone already, you need not check out a device. Textbook. You'll need to purchase a copy of App Inventor: Build your own Android Apps, by David Wolber (your instructor) Hal Abelson (who led the development of App Inventor) and the Google engineers from the App Inventor team. The paperback version is more helpful than the electronic version because you can set it next to you in the lab. SIM card and, minimally, an SMS texting plan for your phone. Those of you with T-Mobile or AT&T Sim cards may be able to insert them into the Android phone directly. If you do not have such a SIM card, you are required to purchase a data plan for the phone. Note that you can share this cost with the classmate with whom you share a phone. If you check out a tablet instead of a phone, you need not buy a SIM card. Grading Portfolio, including Major Projects and in-class labs 50% Midterms (2) 50% Lab Assignments The course meets in the Kudlick lecture/lab classroom (HR 235). A portion of most class meetings will be devoted to hands-on lab programming assignments. These tasks will begin during class time but generally will require out-of-class work to complete. The Kudlick lab is available in the evenings, and there are two labs on Harney 5th floor available to students (HR 530 and HR 535). You can also work on these assignments on your laptops and home computers. Major Projects The major projects involve the design and implementation of an innovative mobile or web application. Students will work in groups. The projects should be linked to from each student's portfolio. Checklists The lab assignments and projects are a significant part of the grade for the course. For each, you are responsible for documenting your work on your portfolio. Every two to three weeks, a checklist will be given specifying everything due on a particular date. Checklist dates are strict: no credit is given for work turned in after the corresponding checklist. Attendance Because of the hands-on nature of the course, attendance is mandatory; if you miss a class without a valid excuse (e.g., doctor's note for illness) one percentage point of your overall grade will be deducted. If you miss more than three sessions, you will be asked to drop the course. Why should I take this class? I'm not a CS major!
|
