In CS580, we will develop a series of applications using both iOS and Android programming environments. The main focus will be games. The course will require a lot of coding. A lot of coding. Let me stress this point: there will be a lot of coding. If you are not comfortable writing lots of code, this is not the course for you. Proficiency in either C or Java is mandatory. We will cover Objective C in the course; capable C programmers should be able to pick up Java and Objective C easily. Capable Java programmers should be able to pick up C and Objective C easily. If you need a language manual in your lap to write a program, this is not the course for you.
- 3/29 2pm -- if you're interested in talking to the students doing artwork for the cinema class, let me know. I can take a group into their class, on Wednesday. This may be an interesting group of folks to talk to, and potentially collaborate with!
- 1/31 Class cancelled! Stay safe and warm!
- Instructor: Prof. Patrick H. Madden (pmadden at acm dot org). Office hours: Thursday from 4 to 6 in Q4, or by appointment.
- TA: Sravan Dabbiru, sdabbir1 at bingo dot edu. Office hours: Monday and Wednesday, 5:30-6:30, in P17 or G25.
- Scoring for the programming assignments.
- Program 1: Hello World, due January 24th.
- Program 2: 2048 Clone, due midnight, February 8th.
- Program 3: Doodle Jump clone, due midnight, February 26th
- Program 4: Side Scroller, due Midnight, March 13th
- Program 5: Medical Applications, due Midnight, March 27th
- Program 6: Small (two person) team project. Due Midnight, April 17th.
This is a hard deadline. I'll be going through the projects in class on the 18th, and will be using class votes to assign part of the grade. Be in class to explain your application, and be able to talk about what you did.
- Program 7: Small (three person) team project. Due Midnight, May 1st.
This is a hard deadline. I'll be going through the projects in class on the 2nd, and will be using class votes to assign part of the grade. Be in class to explain your application, and be able to talk about what you did. By now, you should have seen plenty of app code that you can build interesting things on your own, and the git logs should show clearly the work you've done.
- Program 8: Final project -- solo -- do what you want, and make something cool! Start early if you wish, build on top of things you've done, be creative! For this one, put the emphasis on your own code, use tutorial and references sparingly! Due Midnight, May 10th (before finals start). We'll have a demo session on the scheduled final time.
Lecture notes, and related links
Skeleton code in Bitbucket
- Baunz Hauz
- Hello World
- Triggering Sound, and the Accelerometer
- Protocols, custom UIView, and catching a screen touch
- Stripped down Android project, with timer-based animation, screen touch, and a little bit of graphics. For faster Android simulation, you may want to check out Genymotion.
- Here's a bunch of the course submissions where the Git repository is open. Reading code, and building on frameworks, is encouraged. Make sure you understand the things you use (and reading through code, and tweaking it to do something else, is a great way to build understanding.)