copyright Steve J. Hodges   http://steveh.net/cis34/cis34-schedule.html

CIS 34

Schedule

Spring 2020 schedule
Week Date Lecture
1 01/27
01/29
Course Introduction and Website, class discussion, Textbooks, Self Introductions, initial Programming Team formation, Java introduction for C++ Programmers, Getting Started with Android, Android Development Tools, Building Android Applications
iPad in use
(2) Setting up an Android Studio Development Environment
(3) Creating an Example Android App in Android Studio
(4) A Tour of the Android Studio Interface
2 02/03
02/05

Review as necessary:
(5) Creating an Android Virtual Device (AVD)
(6) configuring AVD
(7) Testing on a physical Android device
(8) Android Studio editor basics

Summary:
(9) Android Architecture overview
Figure 9.1 Android Architecture
(10) Anatomy of Android Applications
(11) Android Application and Activity Lifecycles

(12) Activity State Changes
Figure 12.2 Android Application lifecycle

W 02/05/20 Demo: simple Calculator (AS3.5.3)

Legacy Examples:

Demo App: CIS34jDay2.zip
Demo App, version two: CIS34jDay2.zip

(15) through (20) Views and Layouts
Figure 17-9 Chained Constraints

findViewById
Connecting a button to a function via editor
onClickListeners
connecting buttond to a function via code
ButtonTest2.zip app from 01/03/16 (AS 1.5.1, A23)

Multiple Activities
TwoActivityDemo.zip app from 01/03/16 (AS 1.5.1, A23)


StateDemo.zip (AndroidStudio 1.0.1)
ButtonTest.zip (AS 1.0.1)
(12) (13) State Changes & Examples & first look at persistance
Figure 11-2 (Activity states)

 

3 02/10
02/12

W: first Android Project due
W: Android Project Proposal (1 page max) due

 

M 02/10/20 w/ Toast: StateChangeDemo.zip (AS3.5.3)

W 02/12/20 updated Calculator with Persistance
Calculator-persist.zip (AS3.5.3)

 

(42) (43) (44) Intents and Activities
sample app with two activities and parseDouble
ExplicitIntent.zip (M 02/12/18 class)

 

Legacy Examples:

startActivity, Intents, Bundles,
XML Animation, Launching an Activity to return a result Data Persistance with SharedPreferences, Designing an Application Framework, Implementing an Animated Splash Screen

twoActivitySplashAnimationDemo.zip (AS 1.0.1)

startActivityForResult.zip (AS 1.0.1)
sharedPreferencesDemo.zip (AS 1.0.1)

 

Simple Splash Demo (E A20)
TestSplash (.zip 1.7 MB)



Simple Image Demo (A18 .zip 2MB)

4 02/17
02/19

Monday, February 19 is a holiday (no class meeting)


Grid View and Adpapters
8-Puz (.zip 16MB) (updated SP18)

Sensors Overview (Android Documentation)

SensorEventListener (Android Documentation)

Accelerometer Demo (.zip)
Compass Demo (.zip) [fixed]

Legacy Examples:


Image resolutions set (.zip 1MB)

5 02/24
02/26

 

working Compass (above)

Android SQLite databases
SQL commands for interactive exercise (text file)
Microsoft TechNet: Writing SQL Queries

 

Table Views and SQLite databases
Database Example (.zip, AS3.0.1)

Asynchronous Tasks, Network Requests, Dialog Boxes
CabrilloWeather (.zip, AS3.0.1)

Legacy Examples

Application Logic, Working with Images and the Camera

 

Revised Camera Demo for Android Studio
CameraDemo (A23 AS151)


Video Recording and Playback
VideoDemo-AS.zip (AS 1.0.1)
VideoRecorder-AS.zip (AS 1.0.1)


CameraDemo-AS.zip (AS 1.0.1)
SimpleDialog Box Example (E)

Camera/Image Project
Camera and Image Library Demo (E SeaChange-v5.zip 1MB)

Layouts
Android Developer Blog & Training: User Interface
Layout Example (from learn-android.com)
LayoutDemo.zip (E A21 ~ 50kb)
android developers Blog: Space and GridLayout
Linear Layout
Relative Layout

6 03/02
03/04

03/04/20
TabLayoutDemo-sp20.zip (AS3.5.1)
SplashActivityDemo-sp20.zip (AS3.5.1)
FingerPaint-sp20.zip (AS3.5.1)

Memory Game (version 1)
Memory Game (version 2)

Legacy Examples:


projects ported to Android Studio 1.1.0 A21:
Cabrillo Weather
Sound One
SoundTwo
Timer(H/R)/SharedPreferences
Cinco, version 5


Support for Location-Based Services,
Findr Project
Version Onewith passive GPS(E .zip 1MB)
Version One with active GPS (E .zip 1MB)

 


Basic Network Support, Additional Network Features
CabrilloWeather Project
Version One (E .zip 1MB)

Responding to multiple widgets with one object
MultiButton( A21).zip

Simple Audio Examples
SoundOne (Eclipse)
SoundTwo (E 14MB)

  • SoundTwo-version two with SeekBar (E 14MB .zip)
  • Data Persistance with SharedPreferences
    using Handler/Runnable for timing
    TimeAgain (E .zip 1.5MB)

    7 03/09
    03/11

    03/09/20
    CloudStorageDemo.zip (AS3.5.1)

     

    Three Textbook Examples:
    (26) MultiTouch demo
    (33) Delayed Transitions (animated widgets)
    (36) Tabbed Interface (Navigation with Fragments)

    Legacy Projects:

    simple GridLayoutDemo
    ToastLife
    FingerPaint, v3


    Portrait/Landscape Layout, Master/Detail Flow (Fragments)
    8 03/16
    03/18

    Examples by Request
    ButtonBonanza (Dynamic+Scrolling Buttons)
    ButtonFury (Canvas drawn Buttons)

    Class time devoted to projects

    Legacy Projects:

     

    GridView used for a simple sliding tile game
    Eight Puzzle EightPuz.zip (AS1.1.0 A21)

     

    Other Android Examples

    iOS:
    Swift for C++/Java Programmers, introduction to developing applications for iOS
    iOS textbook chapter 1

    Catch-up and Android team project work
    9 03/23
    03/25
    Spring Break—no classes held
    10 03/30
    04/01
    Android Team Project Demonstrations
    (you may present on Monday or Wednesday)

    Introduction to/Overview of Swift
    11 04/06
    04/08

    Monday
    Swift Playground save (4.10.18)
    First Sample Application with a button and a text field.
    Wednesday
    Unit Converter

     

    introduction to XCode and first example apps
    IBAction and IBOutlet

    Distance Converter (iOS9, Swift 2.2)

    Controller Test 8 (iOS9, Swift 2.2)

    12 04/13
    04/15

    Auto Layout, Storyboard and Segues, TabBar Navigation
    Introduction to SpriteKit

    Storyboards, Segues, Scenes
    Segue Demo (iOS9, Swift 2.2)

     

    Simple Data persistance with NSKeyedArchiver
    SimpleDataPersistance (iOS9, Swift 2.2)

    13 04/20
    04/22

    ControlTest8 (updated to XCode 9.2; Swift 4)

    StackViewDemo (textbook; iOS 11)

    TextField Events
    simple 2d Graphics
    NASA Logo

    Legacy Examples

    SpriteKit - simple Game Example
    Archer Game - WIP 04.18.16 (iOS 9, Swift 2.2)
    Archer Game - WIP 04.20.16 (iOS 9, Swift 2.2)

     

    14 04/27
    05/29
    Another Graphic Demo -- UIView with outlet
    Simple Segue Demo

    ShoppingList (CoreData and Navigation Controller)

    Legacy Exmples

    SpriteKit - simple Game Example
    Archer Game - WIP 04.25.16 (iOS 9, Swift 2.2)

    Camera and Photo Library
    Camera8 (update to iOS9, Swift 2.2)

    CoreLocation
    Location8 (update to iOS9, Swift 2.2)
    CoreLocation/MapKit
    Geocode8 (update to iOS9, Swift 2.2)

    Tab Bar Navigation
    TabBarExample9 (iOS 9, Swift 2.2)
    Audio
    AudioExample8 (update to iOS9, Swift 2.2)
    15 05/04
    05/06
    Monday Examples
    Wednesday Examples
    CMMotionManager (Developer Docs)

    Legacy Examples

    working with MFI (made for iOS)
    wireless Game Controllers
    simple/minimal demo project
    ControllerDemo.zip (XCode 6.3.1, iOS8, Swift)

     

    Data Persistance with NSKeyed(Un)Archiver
    Archive8 (iOS 8/XCode 6.1)

    simple audio example
    AudioExample8 (iOS8/ XCode 6)

    simple audio example w/ time control
    AudioExample8 (more) (iOS8/ XCode 6)

    simple SQLite with FMDB wrapper demo
    Database8 (iOS8/ XCode 6)

    Master/Detail view with TextField dialog and Web View
    MD8 (iOS8/ XCode 6)

    Asteroids -- First Draft (upgraded to iOS9, Swift2.2)
    16 05/11
    05/13
    Monday Examples:
    QuickDemo version 2 (AVAudioPlayer & StackView)

    Wednesday Examples:
    QuackDemo (AVAudioRecorder)
    Quack Demo version 2 (with SMS Text Messaging of the sound file and broken UI; from class)
    QuackDemo version 3 (with "fixed" UI)
    Map <br/>

    Kit example (from textbook; chapter 80)

    work on final projects, topics by request, other
    Passing Data between Views:
       SettingsUtilityDemo.zip (Xcode 6.3)

    17 05/20 (no meeting on Monday)
    Wednesday, May 20th, 1:00pm–3:50pm
    iOS Final Project Demonstrations

    This schedule is subject to change.