Skip to content

Potential roadmap for MobileSpace Season 3 @ UCSD

Notifications You must be signed in to change notification settings

mobilespace/Season3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

  1. Background
  2. Why React Native?
  3. Instructors
  1. Housekeeping
  2. Course Objective
  3. Learning Objectives
  4. Roadmap
  5. Feedback

MobileSpace Introduction

Background

MobileSpace is a free, in-person course that aims to teach students mobile application development.

It was started in Fall 2016 @ SF State due to the lack of an iOS course in the Computer Science cirriculum.

Season 1 taught students iOS development using Swift and 5 students successfully completed the rigorous 3 month course. To hear my journey and learn more about Season 1, read my blog post on Medium.

For Season 2, we decided to teach cross-platform mobile development using React Native to keep pace with the latest technologies and industry trends. It was a thunderous success with 9 students successfully completing the course. The season ended on a high note with a very exciting Demo Day. 3 teams present their mobile apps with 2 esteemed judges and a packed room of over 50 audience members. You can watch the entire Demo Day on Youtube.

Looking ahead, for Season 3 we plan to do a pilot (remote) course @ UCSD and will continue to teach cross-platform mobile development using React Native.

Our teaching curriculum and course roadmap is Open Source and totally free to use with credit back to MobileSpace. Keep reading below to learn more about the React Native Cirriculum for Season 3.

Why React Native?

I have heard of React Native as a good alternative to Swift. Since you are offering this React Native course and as someone that's worked professionally with React Native.. what do you think about it?

Why should I learn React Native instead of Swift?

Here's my tldr;

  • share 90% of the codebase between iOS & Android; (saves a ton of engineering time & resources)
  • write mobile apps with JS (easier for web devs who already know JS)
  • a more active developer ecosystem (the React ecosystem in general)
  • great for greenfield app (apps that are entirely written in RN)

Also there are lot of really good medium posts talking about exactly this: native dev vs react native. Here are some good posts that I'd def recommend reading that helps to puts this in perspective.

But on the other hand, it's important to consider the cons before evaluating whether RN is right for you/your team. One of the biggest bottlenecks for RN currently it being able to maintain a hybrid app (RN + native app) at a large scale. For instance, a few months back Airbnb decided to sunset their use of React Native as a result of growing pains with maintaining the RN infrastructure as well as initialization and the async first render in a React Native app. I'd highly recommended reading the blog post for more details.

With that being said, I think React Native is still a really promising technology to learn as it can help make you a more all-rounded engineer as you are able to build mobile apps with Javascipt.

Instructors

Monte Thakkar

GithubLinkedIn

Over the last couple years, I have professionally worked as a React Native developer, helping publish two React Native apps on the App Store & Google Play Store and have led mobile teams as well. I have also spent extended periods of time working on open source libraries. Most notably I maintain the popular React Native Elements repo which is the most starred UI Toolkit for React Native. Additionally you can see some of my other React Native work on my Github profile.

Season 3 - Curriculum

This readme serves as the roadmap for Season 3 @ UCSD. In it are outlined the course objectives, weekly meetup assignments and most importantly a beginner friendly curriculum to learn professional React Native development.

Housekeeping

  • 2 meetups/week for 6 weeks - Oct 29nd => Dec 10th 2018
  • Meetup day & time - TBD
  • Any community member that misses two consecutive meetups will be asked to leave the community due to lack of commitment.

Course Objective

To make sure that all community members learn professional mobile development as well as general software engineering skills in turn preparing them to land an summer internship or a full-time software engineering position on their own.

Also it's not just about the technical skills that are taught during the course, but it's also about developing the right midset and ability to think through a technical problem, product spec as well as working in a team setting.

Learning Objectives

The following learning patterns will be re-enforned throughout the course:

  • Even though this is a beginner friendly course, we will not delve into the basic theoretical concepts of Javascript, React etc. Instead we will take a very practical approach to learning and jump head first into HelloWorld projects and then start filling in the knowledge gaps as they come up.
  • We will try to build production ready apps & uses cases that can be showcased on your portfolio. (This is to say that we will not just build dummy apps for the sake of it)
  • Collaboration is key. Be respectful of your peers and the community you are part of and be willing to help others and foster an environment of learning.
  • Working in teams - each week, you will be paired up with another person in the class. It's your responsibility to work on assignments independenly, yet work together to resolve any problems that come up or ask questions on Slack.

Roadmap

Week #0 - Prework

  • Course Introduction
  • Intro to Javascript (JSX), React
  • Learning React state, props and functions
  • Intro to React Native, Expo and CRNA
  • Intro to RN styling (flexbox)

Attendance

TBD

Resources

PREWORK ASSIGNMENT - TIP CALCULATOR APP


Week #1 - Course Begins

  • Learning React Native Core Components & API's
  • Making API calls with React Native
  • Advanced RN Styling & NPM Libraries

Working on Daug Social Network mobile app - Skeleton (part 1)

Attendance

TBD

Resources


Week #2

  • Intro to React Navigation
  • Authentication flow & AsyncStorage

Working on Daug Social Network mobile app - Navigation (part 2)

Attendance

TBD

Resources


Week #3

  • React Redux
  • Advanced API calls
  • React Native wrap-up

Working on Daug Social Network mobile app - Backend (part 3)

Attendance

TBD

Resources


Week #4-6

  • Built a fully functioning mobile app with React Native + an API (3 weeks)

⭐ GROUP PROJECTS 🚀


Week #7

  • Demo the app
  • Partyy 🎉

⭐ DEMO DAY 🔥


Feedback

In case you have suggestions on how this roadmap can be improved, kindly open a new issue and let us know.

And if you like what you see or have any questions about this repo or MobileSpace in general please reach out to @monte9 on Github.

About

Potential roadmap for MobileSpace Season 3 @ UCSD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published