C a l i f o r n i a P o l y t e c h n i c S t a t e U n i v e r s i t y
CSC 123 - Introduction to Computing: Mobile
djanzen (at) calpoly.edu
Room 212, Frank E. Pilling (Building 14)
M,R: 3:10-4:30pm; W: 10:30am-noon; F: 3-3:30pm
Free Tutoring - Sunday - Thursday 7-9pm
- Description: Explore computing and software development by creating apps for Android-based smart phones. Students will work in teams to imagine, design, prototype, build, test, and launch apps for the Android market. You will gain hands-on experience with the languages and tools needed to build Android apps, and you will test your apps on Android phones.
- Prerequisites: Basic computer literacy. No programming experience is required. Not for students with credit in CPE/CSC 103.
- Course Objectives:
1. Understand the key elements necessary for a successful mobile application.2. Understand basic mobile application design and be able to apply that knowledge to the creation or critique of a simple app.3. Gain a working knowledge of applying a software development process.4. Create basic, interactive Android applications using AppInventor and Java/Android.5. Gain experience working in teams.6. Write small programs and understand the following basic programming language concepts: control flow, looping, functions, and data structures.
- Communication: The best place to discuss the course is during lecture and laboratory times. The main communication tool for the class will be the online course schedule, an online discussion group (Piazza), and individual portfolios. Students will be expected to check the first two on a daily basis. Posts to the group should never criticize people. Constructive criticism of artifacts and ideas is acceptable. Students will demonstrate much of their work through portfolios. All assignments will be placed on the course web site and/or announced in lecture. Most class materials are available on the course web site; be sure to check regularly. Email will only be used for special circumstances, such as communicating time sensitive information. All students are expected to have their calpoly.edu email accounts forward to wherever they will read email at least daily. If you use email, put CSC 123 on the subject line to get the best response time. Leaving phone voicemails should be a last resort.
- Syllabus: <pdf>
- Lab #1 due September 25 at beginning of class <html>
- Lab #2 due September 27 at beginning of class <html>
- Lab #3 due October 4 at beginning of class <html>
- Lab #4 due 10/18 <PolyLearn>
- Lab #5 due 10/23 <PolyLearn>
- Lab #6 due 10/25 <PolyLearn>
- Lab #7 due 10/30 <PolyLearn>
- Lab #8 due 11/1 <PolyLearn>
- Lab #9 due 11/8 <PolyLearn>
- Labs 1-3 will typically have two components. The first is to be done with a partner. The second is to be done alone. You will have a new partner for each lab.
- Labs 4-9 will typically be completed in class.
- Project #1 Milestone 1 due October 4 <html>
- Project #1 Milestone 2 due October 11 <html>
- Project #2 Milestone 1 due November 6 <html>
- Project #2 Milestone 2 due November 15 <html>
- Project #2 Milestone 3 due November 29 <html>
- Project #1 will be completed with one partner. Project #2 will be completed with a team of 5 or 6 people. Best practices will be followed including daily standup meetings, weekly integration, version control, and team roles.
Labs/Assignments/Quizzes: 25%Project #1: Milestone 1 (5%), Milestone 2 (10%)Project #2: Milestone 1 (5%), Milestone 2 (5%), Milestone 3 (15%)Participation: 10%Midterm: 10%Final: 15%
- Assignments: Assignments will generally be incorporated into lab assignments.
- Quizzes: At least two programming quizzes will be given. The first one will not affect your grade. It is simply to determine what you already know. Additional quizzes may be given.
- Exams: Midterm and final exams will be given. See the course schedule for times and dates. The exams will be written, but may also contain an on-line programming component. The exams will be closed book/notes/friends/web.
- Participation: You are expected to attend and fully participate in every lecture and lab meeting and activity. Full participation includes things like listening, asking good questions, working on the assigned task. Participation grades will be determined a variety of ways. On some days, attendance will be taken. On other days, you may be asked questions about recent work. On other days, you may be asked to turn in an artifact from the day's activities. More than three absences, for any reason, will result in a zero for your participation grade.
- Scores will be available on PolyLearn which is accessible from MyCalPoly.
- Letter grades: 100%-90% A, 89%-80% B, 79%-70% C, 69%-60% D, 59%-0% F.
- Classroom Etiquette: You are expected to conduct yourself in a professional and civil manner. We want to have fun, but maintain a safe, positive, and productive environment at all times. You should not use any electronic devices (e.g. phones, ipods, computers) except as part of the course activities. You should not bring food to the classroom. You should clean up after yourself. You should not use foul language, or make fun of others. You should respect each other's personal space. The lab can get crowded, so be respectful. Failure to do any of these things will reduce your participation grade.
- Late work: Except for exceptional circumstances (e.g. a limb fell off), late assignments will not be accepted.
- In general, there will be very few opportunities to cheat in this course. We will do a lot of work in pairs and teams. However, when you are asked to do individual work, it must be your own work. Even if you are working with someone else, if you use something from someone other than your partner/teammate, attribute the use with an appropriate reference (e.g. a comment of where you got it). Suspected incidents of academic dishonesty will be reported to the Office of Student's Rights and Responsibilities. If guilty, the student will receive an "F" in the course.
- There are no required texts. However, you might consider buying an Android book such as Professional Android 2 Application Development. There are also lots of great online resources.
- App Inventor