Syllabus for WVU CodeLab: Mobile App Development (JRL 493Z)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

CodeLab: Mobile App Development for iOS and Android

  • Course: JRL493Z, WVU
  • Instructors: Ricky Kirkendall,; Matt Brumley,
  • TA: Logan Spears,
  • Location: 4th floor  Evansdale Crossing
  • Date & Time: Tuesday and Thursday 4:00 - 5:15 PM
  • Office Hours: Tuesday and Thursday 3:00 - 4:00 PM
  • Slack Team: (It is highly recommended that you use the Slack channel for questions and discussions. We will not be using eCampus in this class. Email Ricky for an invitation to the Slack team)
  • Text: subscription ($25/Month: Used for duration of class)
  • Coding Exercises: A full list of coding exercises and their corresponding lessons can be found here. The coding exercises are meant to be worked on primarily in-class.

Course Description

This course will help the student develop the knowledge and skills necessary to develop mobile Application technology (Apps) on Android and iOS platforms. These skills will allow the student to explore creative, commercial and entrepreneurial opportunities using these skills and their own creativity.

Expected Learning Outcomes

Upon success completion of this Mobile Application Development course:

  1. Students will understand how the mobile apps are developed on iOS and Android.
  2. Students will understand the concepts of developing a mobile apps.
  3. Students will understand the major principles related to object oriented programing (OOP) Languages.
  4. Students will determine the the viability of their app ideas.
  5. Students will use industry integrated development environments (IDE) and software development kits (SDK) along with various application programming interfaces (API).
  6. Students will learn to create an application prototype to communicate their vision to investors, customers and other stakeholders.
  7. Student will be able to think critically and conduct feasibility analyses of app ideas on their strengths, weaknesses, opportunities and threats
  8. Students will increase their proficiency in methods of developing applications that are technology driven in the app market.
  9. Students will have gained experience in working within a team of their peers and mentors during group projects.


  • Math 126 (General Mathematics)
  • CS101 or have completed 90 credit hours or more.

Class Format

  • Availability of a Lab computers: Software that is needed for this course will be installed and available on the computers at CodeLab computers. Essential software includes: Java SDK, Android Studio IDE, Android SDK on PC machines and Xcode iOS Objective-C softwares on Mac computers. We recommend you to bring your laptops and install this software on your own laptops.
  • Flipped Classroom: Instructional content in this course will be primarily delivered through online modules. In class time will be used for exercises, discussions and project-based learning.

Grading System

The final grade will be determined on the basis of the following percentages:

Final Grade Breakdown %
Attendance and class participation 25%
Homework and assignments 25%
Midterm Exam 25%
Final project and presentation 25%
Grade Range
A ≥ 90%
B 80-89%
C 70-79%
D 60-69%
F ≤ 59%

Course Outline

  1. Foundations of Prorgamming
  2. Introduction
  3. First programming language
  4. Final Project: Submit app proposal
  5. Mobile App Development for iOS and Android Part 1
  6. Mobile Programming Language: Choose iOS or Android
  7. Developer tools
  8. Final Project: Technical description
  9. Mobile App Development for iOS and Android Part 2
  10. Mobile app user interfaces
  11. Mobile app design
  12. Final Project: App mockups
  13. Final Project
  14. Selected topics
  15. Data-driven apps
  16. Final Project: Coding

Attendance and Instruction

The instructor reserves the right to postpone or rearrange the presentation of material by making an announcement during a regularly scheduled class meeting.  Examinations will not be moved without announcing the change at least one (1) week prior to the scheduled time. No makeup exams offered unless prior notice was given or medical excuses. The syllabus is a general guideline and does not constitute a contract between the student, instructors and the University. Our attendance policy allows only up to 4 classes to be missed without formal excuse, after four (4) absents, class grade will be affected.

Social Justice and Americans with Disabilities Act

West Virginia University is committed to social justice.  We concur with that commitment and expect to foster a nurturing learning environment based upon open communication, mutual respect, and non-discrimination.  Our University does not discriminate on the basis of race, sex, age, disability, veteran status, religion, sexual orientation, color or national origin.  Any suggestions as to how to further such a positive and open environment in this class will be appreciated and given serious consideration. WVU recognizes the diversity of its students and the needs of those who wish to be absent from class to participate in Days of Special Concern, which are listed in the Schedule of Courses.  Students should notify their instructors by the end of the second week of classes or prior to the first Day of Special Concern, whichever is earlier, regarding Day of Special Concern observances that will affect their attendance.  The instructor will make reasonable accommodation for tests or field trips that a student misses as a result of observing a Day of Special Concern. If you are a person with a disability and anticipate needing any type of accommodation in order to participate in this class, please advise us and make appropriate arrangements with Disability Services (293-6700).

Course Schedule

Weeks 1 - 4

  • Introduction
  • How to use GitHub
  • Final: App Proposals
  • Programming Language Concepts:
  • Syntax
  • Variables
  • Data types
  • Operations
  • Conditionals
  • Functions
  • Iterations
  • Strings
  • Collections
  • Style
  • I/O
  • Debugging
  • OOP Thinking
  • Intro to algorithms

Weeks 4 - 8

  • Xcode
    • iOS Simulator
    • Writing Code
    • Building Code
    • Debugging Code
  • Objective-C Concepts
  • Android Studio
    • Writing Code
    • Bulding Projects
    • Debugging Tools
  • Java Concepts
  • Final: Technical Description- Applying programming concepts to app ideas

Weeks 8 - 12

  • Prototyping
  • iOS
    • MVC Structure
    • UI Elements
    • Storyboards
    • View Controllers
    • Navigation
  • Android
    • MVC
    • Java Style
    • UI elements
    • Interface Builder
    • Emulator
    • Action Listeners
  • Final: App mockups

Weeks 12 - 16

  • Data-driven apps with
  • Selected topics relevant to final projects
  • Final: App coding

####Student Signature Got it?