CS 3180 Mobile Application Development

Week 1: Introduction to Mobile Development

CS 3180 — Mobile Application Development

Android · Kotlin · Jetpack Compose · Hope Foundation

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Welcome & Course at a Glance

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

What This Course Is

CS 3180 is a project-based mobile development course

  • Build a real Android app for a real nonprofit client
  • Learn Kotlin and Jetpack Compose from the ground up
  • Deliver working software by the end of the semester

Not a survey of all mobile platforms — we go deep on Android

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

How Grades Break Down

Component Weight
Assignments (5) 30%
Labs (weekly) 20%
zyBook quizzes (best 10 of 12) 15%
Team project 25%
Participation 10%
Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

AI Policy: Generate → Understand → Adapt

This course embraces GitHub Copilot and Claude as learning tools

  1. Generate — use AI to produce a first draft
  2. Understand — read every line; be able to explain it
  3. Adapt — modify it for the specific context

Disclosure is required. If AI wrote it, say so.

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Meet the Client: Hope Foundation

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Who Is Hope Foundation?

A nonprofit that raises money for children's education

  • Annual charity golf tournament — their biggest fundraiser
  • Scramble format: teams of 4, pick the best shot each hole
  • Raises $50,000+ per year
  • 100% of proceeds go to student scholarships
Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

The Current Problem

Today Hope Foundation runs the tournament with:

  • Paper scorecards distributed to each team
  • A volunteer manually entering scores into a spreadsheet
  • Real-time leaderboard? Impossible.
  • Score disputes resolved by hunting down paper cards

Every year they lose volunteer hours to data entry

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

What They Need From Us

A mobile app that lets each team:

  • Enter scores hole-by-hole on a phone
  • See the live leaderboard at any time
  • View their scorecard history after the round

Our job this semester: build version 1.0

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

The Mobile Landscape

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Three Ways to Build a Mobile App

Approach Examples Trade-off
Native Android Kotlin + Jetpack Best performance, Android-only
Native iOS Swift + SwiftUI Best on iPhone, Apple-only
Cross-platform Flutter, React Native One codebase, some compromises
Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Why Android for Hope Foundation?

  • Android holds ~71% global market share (2024)
  • Volunteers and tournament participants use a mix of devices
  • Kotlin is Google's officially recommended language since 2019
  • Jetpack Compose is the modern UI toolkit — what new jobs want
  • Most career-relevant choice for students in this region
Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Development Environment Kickoff

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Android Studio: What It Is

Android Studio is the official IDE for Android development

  • Built on IntelliJ IDEA
  • Includes the Android SDK, build tools, and emulator
  • Download: developer.android.com/studio
  • Free for all platforms (Mac, Windows, Linux)
Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Install Checklist

Before you can run your first app:

  • [ ] Android Studio downloaded and installed
  • [ ] Android SDK 34 (API level 34) installed via SDK Manager
  • [ ] At least one AVD (emulator) created
  • [ ] Gradle sync completes without errors
Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Creating an AVD (Emulator)

Tools → Device Manager → Create Device

  1. Choose a phone (e.g., Pixel 6)
  2. Select system image: API 34 (x86_64)
  3. Accept defaults → Finish
  4. Hit the play button to boot it

Goal: see the Android home screen on your machine

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Demo: Your First Compose Project

File → New → New Project → Empty Activity

  • Application name: CharityGolfTracker
  • Package name: edu.university.charitygolftracker
  • Language: Kotlin
  • Minimum SDK: API 26 (Android 8.0)

Then: Run → select your emulator → watch it launch

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Expectations & Support

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Install Help Plan

Not everyone will finish the install today — that is okay

  • Office hours: [times here] — bring your laptop
  • Discord/Slack: #setup-help channel — post error messages
  • Pair up: if your neighbor's install worked, help each other
  • Deadline: emulator running before Wednesday's demo
Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Discord / Slack Channel

Join the course channel before you leave today

  • Post your setup status: working / stuck / not started
  • Screenshots of error messages are welcome (and helpful)
  • Questions answered by instructor and TAs — usually within a few hours
  • Do not suffer in silence — ask early, ask often
Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

AI Disclosure: How It Works in Practice

When you submit work that used AI assistance, include a comment:

// AI DISCLOSURE: Used GitHub Copilot to generate initial structure.
// Modified the when-expression to handle null scores correctly.
// Tested manually with par 3, 4, and 5 holes.

One sentence minimum. What did it generate? What did you change?

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Week 1 Roadmap

Day Focus
Today (Mon) Orientation, client intro, install kickoff
Wednesday Kotlin fundamentals + golf-flavored code
Friday Lab 01 — first Compose screen

Homework before Wednesday: finish install, read zyBook Chapter 1

Week 1 Monday: Intro to Mobile Development
CS 3180 Mobile Application Development

Questions?

Come say hello — and get Android Studio open before you leave

Week 1 Monday: Intro to Mobile Development

SPEAKER NOTES: Welcome everyone to CS 3180. Today sets the tone for the entire semester. We have a real client, a real problem, and a real app to build. By the end of this session students will know who Hope Foundation is, why we're building their app, and have Android Studio running on their machines.

SPEAKER NOTES: Before we meet the client, let's do a quick orientation to the course so students know what to expect. Keep this high level — they'll read the syllabus on their own time.

SPEAKER NOTES: Emphasize "project-based" and "real client." This isn't a toy course — by week 15 students will have something in their portfolio. The single-platform focus is intentional: going deep on Android with Kotlin is far more valuable than a surface-level tour of everything.

SPEAKER NOTES: Walk through each component briefly. Stress that the best-10-of-12 quiz policy gives students flexibility — missing two quizzes won't hurt them. The team project is the capstone: they'll present working software to the class and optionally to Hope Foundation.

SPEAKER NOTES: Be direct here: AI is not banned, but submission without understanding is academic dishonesty. Walk through the three-step model. A good test: "Could you explain this code in a live code review?" If yes, great. If not, that's a problem. Copilot and Claude are on the approved tools list in the syllabus.

SPEAKER NOTES: Now the fun part. Students will spend the whole semester building for Hope Foundation. Treat this introduction like a real client kickoff meeting.

SPEAKER NOTES: Give students a moment to appreciate the stakes. This isn't a contrived homework problem — real money for real kids. The scramble format means every player hits on every hole and the team records the single best score. That scoring logic will be central to the app.

SPEAKER NOTES: Paint the picture of tournament day: 20+ teams, 18 holes, scores trickling in on crumpled paper cards. The volunteer at the scoring table is overwhelmed. Disputes happen. The leaderboard isn't live. Students can immediately see how a mobile app fixes all of this.

SPEAKER NOTES: Keep scope expectations realistic. Version 1 is the MVP: score entry, leaderboard, scorecard history. We're not building registration, payment processing, or social features. This focus makes the project achievable in 15 weeks while still being genuinely useful.

SPEAKER NOTES: Now we zoom out before zooming in. Students need context for why we chose Android and Kotlin — not just "because the syllabus said so."

SPEAKER NOTES: This table gives students a mental map of the industry. All three approaches are valid professionally. The choice depends on budget, team, and target audience. Ask: "If you were starting a startup tomorrow, which would you pick?" Expect divided opinions — that's the point.

SPEAKER NOTES: The market share number grounds the decision. For a charity tournament serving a general public, you want the platform most people carry. Kotlin and Compose are explicitly the industry direction — job postings increasingly list Compose experience. This is the right tool for both the client and students' careers.

SPEAKER NOTES: Hands-on time. The goal by end of class: everyone has Android Studio open. The goal by end of the week: everyone has an emulator running their first Compose app.

SPEAKER NOTES: If students have IntelliJ from another course, Android Studio will feel immediately familiar. Mention that it's free — no licenses to manage. If anyone is on a Chromebook, flag that now; there are workarounds but they need to plan ahead.

SPEAKER NOTES: Walk through each item. The SDK Manager is under Tools → SDK Manager. API 34 is Android 14 — current stable target. AVD = Android Virtual Device; creating one takes a few minutes. Gradle sync is the first thing Android Studio does when opening a project — watch for red error banners.

SPEAKER NOTES: If you're live-demoing, do this now. The emulator takes 30–60 seconds to boot the first time. While it's loading, explain that x86_64 is chosen because it runs natively on most laptops (ARM images are for Apple Silicon Macs). Students on Apple Silicon: use the ARM image instead.

SPEAKER NOTES: Walk through this live. Package name convention: reverse domain of your institution. API 26 minimum gives us ~95% device coverage while still using modern APIs. The first build always takes a few minutes while Gradle downloads dependencies — this is normal, not a bug. Students will see "Hello Android!" in Compose.

SPEAKER NOTES: Final section. Keep it brief but don't skip it — students need to know where to get help before they leave.

SPEAKER NOTES: Be explicit that install problems are normal and expected. Students who finish early should help neighbors — this builds community and reinforces the setup steps. The Wednesday deadline is firm because the demo session assumes a working environment.

SPEAKER NOTES: Pull up the channel invite link. Make joining a class activity right now so it actually happens. The "post your setup status" prompt gives quiet students a low-stakes way to participate and gives you a real-time sense of where the class is before Wednesday.

SPEAKER NOTES: Show the exact format expected. The point is not to penalize AI use — it's to ensure students engage with the code. A disclosure like "Copilot wrote everything, I changed nothing" is a problem. A disclosure like "Copilot generated the data class, I added the null-safe score field and wrote all the tests" shows real engagement.

SPEAKER NOTES: Close with the roadmap so students leave with a clear picture of the week. The zyBook chapter covers Android fundamentals — students should read it before Wednesday. If they haven't installed Android Studio yet, that's the priority tonight. Remind them: post in #setup-help if stuck.

SPEAKER NOTES: Leave 5 minutes for questions. Walk around and check on installs in progress. If the room has strong Wi-Fi, some students may get to the "Hello Android!" screen before leaving. Celebrate that when it happens.