Syllabus

General Information 

CS 107 – Computing, Mobile Apps, and the Web  Spring 2012
Harney Science Center  Room 235
Mondays, Wednesdays, Fridays  2:15pm – 3:20pm

This course gives non-majors with no prior programming experience an introduction to computer science. Students in this course will use App Inventor to create apps for Android devices, providing a gentle introduction to computing and programming. Students will also develop problem-solving skills and gain valuable experience working with computers, mobile platforms, and the Internet—all of which are valuable no matter what discipline you choose.

Website

The course website is located at:

http://cs10703.cs.usfca.edu

You can find announcements, a calendar, lecture notes, and contact information on this website. Please check the course website regularly.

Mailing List 

All homework questions should be directed to the course mailing list. The mailing list for this course is:

Email: cs107@cs.usfca.edu
Web: https://groups.google.com/a/cs.usfca.edu/group/cs107?hl=en

If you are registered for this course, please verify you are subscribed to the course mailing list.

Announcements

Announcements will be posted on the course website. You can subscribe to these announcements via RSS at:

Feed: http://cs10703.cs.usfca.edu/home/posts.xml

Some announcements may also be sent to the mailing list at cs107@cs.usfca.edu.

Calendar

Lectures, assignment deadlines, and exam dates will be posted on the public Google Calendar for this class. See the course website for more details.

Instructor 

Please contact the instructor for any lecture, project, or course related questions.

Professor Sophie Engle
sjengle@cs.usfca.edu  http://www.cs.usfca.edu/~sjengle/

Office Hours:
Harney Science Center  Room 533
Mondays and Wednesdays  4:45pm – 6:15pm
and by appointment

Teacher Assistant

Please contact the teacher assistant for any participation grading or programming-related questions.

Pakkapon Poopaka
ppoopaka@cs.usfca.edu

Office Hours:
Harney Science Center Room 530/545
Tuesdays, Thursdays 1:00pm – 4:00pm

Prerequisites 

There are no prerequisites for this course.

Course Materials

The book "App Inventor: Create Your Own Android Apps" by David Wolber, Hal Abelson, Ellen Spertus, and Liz Looney is required for this course. You may get either the print or electronic edition of this book, but the print edition is recommended since you can easily reference it during lab.

  App Inventor: Create Your Own Android Apps
  Print or Electronic Edition
  by D. Wolber, H. Abelson, E. Spertus, and L. Looney

  [publisher] [amazon]

No other books are required for this course.

Learning Outcomes

At the end of this course, students should be able to:

  • Create and use variables and lists
  • Create procedures with input and output
  • Use basic logic, including conditionals and iteration 
  • Understand the difference between temporary and persistant storage
  • Understand web basics, and how to interact with web APIs
  • Use problem solving to create apps and fix bugs

Topics and Schedule

We will cover the following topics:

Week Topic(s)
Week 01 Introduction, Part 1
Week 02 Introduction, Part 2
Week 03 Animated Apps, Part 1
Week 04 Animated Apps, Part 2
Week 05 Location Aware Apps, Part 1
Week 06 Location Aware Apps, Part 2
Week 07 Midterm Exam
Week 08 No Classes – Spring Break
Week 09 Informational Apps, Part 1
Week 10 Informational Apps, Part 2
Week 11 Communication Apps, Part 1
Week 12 Communication Apps, Part 2
Week 13 Web-Enabled Apps, Part 1
Week 14 Web-Enabled Apps, Part 2
Week 15 Final Exam
Week 16 Final Project Discussion
Finals Week Final Project Presentations

Please note this schedule is only an estimate. The exact schedule may change over time.

Grading

Grade Breakdown

The final grade will be calculated as follows:

WeightCategory
10% Participation
25% Homework
25% Projects
20% Midterm Exam
20% Final Exam

See below for additional details on grading.

Letter Grades

Letter grades will be assigned according to the following scale:*

Letter
Cutoff
     A+
97%
     A
93%
     A–
90%
     B+
87%
     B
83%
     B–80%
     C+77%
     C73%
     C–70%
     D+67%
     D63%
     D–60%
     F<60%

*Note that this scale is subject to change at any time.

Portfolios

Students will be creating public portfolios using Google Sites to display and submit their work for this class. All submissions, including homework and projects, will occur on the portfolios. The proper format will be provided in class.

Participation

There will be MANDATORY labs every Friday. Each lab is worth 10 points, and graded on a pass/fail basis. Students must attend the full duration of lab to receive credit. Additionally, students must present at least one project (in addition to the final project) throughout the course, and must participate in presentation evaluations. 

Homework

There will be one homework assigned (almost) every Friday during lab. The homework assignments are designed such that you can finish most of the assignment during lab time. Each homework assignment should be posted on your portfolio when complete. There will be four "checkpoints" where we will look at your portfolios and grade the homework assignments.

Projects

There will be four projects total in the course, worth 25% of the overall grade. For projects, students may work in groups of 1–3 students. An A+ grade will only be assigned to those projects that demonstrate creativity and an understanding of the underlying logic. 

The final project (project 4) is due during finals week. Every group will present their final project during the final exam slot for this class, which will be Monday, May 14 from 3:00pm – 5:00pm in HR 235. Students will evaluate and vote on the best project presentations. The best final projects will be showcased on this website, and will receive extra credit.

Exams

There will be one midterm exam and one final exam, on weeks 7 and 15 respectively. These exams will be closed note and closed book, and are worth 20% of the overall grade each. There will be a review session prior to each exam.

Students will also be given an opportunity to retake the exam to earn back a percentage of missed points. The exact percentage will depend on the class average. Retake opportunities usually occur the lecture after the exam date.

Extra Credit

Please note that each grade category (exams, projects, homework) will be capped to 100%. As a result, homework extra credit only improves your homework score—it does not improve your exam score or project score.

Late Policy

All exam dates are firm except in the case of verifiable medical or family emergency. Makeup exams must be arranged prior to the original exam date, without exception.

Homework and projects may be submitted up to 2 days late. Submissions up to 24 hours late will receive an automatic 10% penalty. Submissions within 24 – 48 hours late will receive an automatic 20% penalty. Any submissions after 48 hours late will receive an automatic 0%.

Any exceptions to this late policy must be arranged prior to the deadline. If a medical or family emergency arises, please email me ASAP.

Academic Honesty

Simply put, do not cheat and do not plagiarize or copy from other students or from the web. I expect all students to adhere to the academic honesty policies at USF. For more information, please refer to the Fogcutter Student Handbook. Students suspected of violating the academic honesty policy will face severe penalty. The first offense will result in a 0 on the assignment or exam, and a report to the Dean's office. Repeat offenses will result in an automatic F for the course.