Syllabus Sections
Publish Date
01/21/2021 15:14:19
Advance Mobile Programming
ITSE-2343
Credit Spring 2021
01/19/2021 - 05/16/2021
Course Information
There was a problem retrieving the course information. If this error persists, ask the instructor to contact the help desk.Office Hours
-
M T W Th
c. 5:00 - c. 5:30
Online
Send an email to arrange a time.
Course Requirements
The primary goal of the course for each student will be to design and code a real time 3d sensor driven game that runs on a mobile device. The course will cover topics that include sensors, signal processing, 3d graphics, transformations, lighting, and motion control. The prerequisite for the course is ITSE 1333 Mobile Application Development.
Readings
There is no required text for the course. All of the required information can be found on the web. There are many OpenGl ES guides on the web, some are unix based, or ios based, but they can all be helpful. The only difference is in the initialization routines that allow OpenGl to talk to the os.
A good intro intro intro with lots of text. A good place to start if new to 3d graphics:
http://blog.db-in.com/all-about-opengl-es-2-x-part-1/
Tutorials:
http://www.learnopengles.com/android-lesson-one-getting-started/
http://lazyfoo.net/tutorials/OpenGL/index.php
http://www.jayway.com/2013/05/09/opengl-es-2-0-tutorial-for-android-part-i-getting-started/
3d matrices overview:
http://www.songho.ca/opengl/gl_transform.html
Android’s page
https://developer.android.com/guide/topics/graphics/opengl.html
Khronos’ site. Good for reference, bad for tutorials.
https://www.khronos.org/opengles/
http://www.khronos.org/opengles/sdk/docs/man/
Course Subjects
The primary goal of the course for each student will be to design and code a real time 3d sensor driven game that runs on a mobile device. The course will cover topics that include sensors, signal processing, 3d graphics, transformations, lighting, and motion control. The prerequisite for the course is ITSE 1333 Mobile Application Development.
Student Learning Outcomes/Learning Objectives
Class Outline/Course Calendar:
-
Week 1:
- Lecture: Introduction to course. Passwords. Hello Triangle.
-
Week 2:
- Lecture: Android OpenGl overview, simple transformations;
- Assignment : Translation.
-
Week 3:
- Lecture: Polygons, 3d pipeline
- Assignment: Geometry creation.
-
Week 4:
- Lecture: Vector math, camera matrix
- Assignment: camera animation.
-
Week 5:
- Lecture: The Dot Product
- Assignment: The Endless Hallway
-
Week 6:
- Lecture: Matrix transformations , Collision Detection
- Assignment: : Collision Detection
-
Week 7:
- MidTerm Exam
-
Week 8:
- Lecture: Accelerometer input
- Assignment: : Accelerometer input
-
Week 9:
- Lecture: Flying
- Assignment: A weightless flying airplane
-
Week 10:
- Lecture: Gravity, stall prevention
- Assignment: Gravity, Air vents
-
Week 11:
- Lecture: Hierarchical motion, final project
- Assignment: Rotating Fan
-
Week 12:
- Lecture: collision detection
- Assignment: fan collision
- Final Project Proposal due
-
Week 13:
- Lecture: Quaternions, Texture mapping
- Assignment: Texture mapping
-
Week 14:
- Lecture: Programmer Interviews
- Class Work: Final Project
-
Week 15:
- Final Exam
-
Week 16:
- Final Project Due
- Class Work: Present Final Project to class