Course Syllabus

App Development 

DIS Logo


a graphic showing a variety of app logos as 3d tiles  

Semester & Location:

Spring 2024 - DIS Stockholm

Type & Credits:

Elective Course - 3 credits

Major Disciplines:

Computer Science, Information Science, Design

Prerequisite(s):

One year of computer science, a course in algorithms and data structures, knowledge of one object-oriented programming language (such as Javascript, C#, Java, or C++). Basic knowledge of web development and databases is recommended.

Faculty Members:

Faris Halteh & Alfio Brancozzi (current students please use the Canvas Inbox)

Academic Support:

academics@disstockholm.se 

Program Contact:

Natalia Landázuri, Ph.D.

Time & Place:

Tuesdays, 16:25 - 19:20 

Classroom: 1D-409

 

Course Description

Whether your company is a streaming giant or a startup for umbrella sharing, bringing your business and ideas to your customers, through smartphones and other computing devices, is essential. Thanks to the development of apps, smartphones have become an indispensable component of everyday activities. We no longer carry a phone around, but rather a complete computer capable of mediating, supporting, accelerating, and interpreting human needs. Apps are the heart of the popularity and utility of smartphones, making mobile development an increasingly lucrative field to work in. In addition, modern full-stack development has come a long way and we are now able to develop apps for multiple platforms at once, and deploy them to Android, iOS and Web.

In this course, you will learn programming basics to develop cross-platform Android and iOS mobile applications, with a strong focus on front-end and user interaction, with the ultimate goal of developing user-friendly and easy to understand interfaces.

 

Learning Objectives

Cross-platform mobile development

Acquire a background in the processes involved in creating cross-platform mobile applications, from conception, to development, to publication.

Human-centered design

Human-centered design involves users right from the start of the app conceptualization and design process, and maintains users at the center of the prototyping, implementation and evaluation processes. Being a successful UX/UI designer means not only to make an app efficient and sleek, but to understand the user the app is made for.

Development tools

JavaScript on Node.js

Node.js is a runtime system that executes JavaScript as a fully-fledged multi-purpose programming language, empowering it far beyond its original purpose as a browser scripting language.

React & React Native

React is an open-source Node.js library for creating user interfaces. It is created and maintained by Meta, and a large and active developer community. React is concerned with state management and rendering of the user interface. It uses encapsulated components that manage their own state, which are composed to make complex UIs. React can be used as a base in the development of web, mobile, or server-rendered applications, in combination with other frameworks. 

React Native implements React in the development of cross-platform applications by providing an architecture that communicates seamlessly with native platforms. It runs in a background process that interprets JavaScript into native commands directly on the end-device. Many popular apps, such as Instagram, Discord and Pinterest, use this technology [reactnative.dev/showcase].

Expo

Expo is an open-source development environment for React Native that provides out-of-the-box tools and APIs for initializing, developing, testing and deploying cross-platform mobile applications. It reduces startup times by providing pre-configured project templates as well as a library of ready-made React Native components which encapsulate most trickier-to-implement native functionalities. The user-friendly combo of the Expo development server together with the Expo Go mobile app also assists in quick development feedback when coding.

Firebase

Firebase is a Backend as a Service (BaaS) by Google which provides an advantage to mobile developers who use React Native for developing mobile applications. By using Firebase, you can start building an MVP (minimum viable product), keeping the costs low and prototyping the application pretty fast. With Firebase, you can configure an app back end and manage app content.

 

Faculty

Faris Halteh & Alfio Brancozzi

 

Readings

The Design of Everyday Things, Donald A Norman

Additional sources include scientific papers, blog posts and videos available online.

 

Field Studies

Possible visits may include:
    • Spotify: https://open.spotify.com/
        ◦ The once tiny startup is now a tech giant. The Stockholm offices are where it all started.
    • Sinch: https://www.sinch.com/
        ◦ Sinch uses programmable communication tools to interact with clients and personalize engagement. From 2008 Sinch has grown from six people to an international powerhouse serving enterprises across the globe.
    • itCraft: https://itcraftapps.com/stockholm/
        ◦ App Development company in Stockholm offering development services for clients, consultation, UX and UI workshops and user testing.
    • Frostlight: https://frostlight.se/en/
        ◦ Web, Design and App Agency in Stockholm that offers consultation and initial technical assistance to startups

 

Approach to Teaching

We will implement a hands-on approach to learning that incorporate multiple opportunities to try and test implementations. Every theoretical concept covered in the course is accompanied by a practical exercise to deepen and interconnect understanding. Students will develop a final project, where they will utilize skills learned during the course to develop apps.

 

Expectations of the Students

  • Students should participate during lectures, peer-led oral presentations, discussions, group work and exercises.
  • Laptops may be used for note‐taking, fact‐checking, or assignments in the classroom, but only when indicated by the instructor. At all other times laptops and electronic devices should be put away during class time.
  • Reading must be done prior to the class session. A considerable part of the class depends on class discussions.
  • Students need to be present, arrive on time and participate to receive full credit. The final grade will be affected by unexcused absences and lack of participation. The participation grade will be reduced by 10 points (over 100) for every unexcused absence. Remember to be in class on time!
  • Classroom etiquette includes being respectful of other opinions, listening to others and entering a dialogue in a constructive manner.
  • Students are expected to ask relevant questions in regards to the material covered.

 

Evaluation 

To be eligible for a passing grade in this class, all of the assigned work must be completed.

Students are expected to turn in all the assignments on the due date. If an assignment is turned in after the due date, the grade of the assignment will be reduced by 10 points (over 100) for each day the submission is late.

During the semester students will work on multiple lab assignments to practice the skills learned. At the end of the semester, students will work on a final project in small teams to put all new skills in practice. Students will develop a fully functional full-stack application, choosing from several provided templates (such as an e-trading platform or a dating app). The final project will be presented to the class, and tested by the peers.  Presentations and project materials will be part of the grade.

 

Grading

The factors influencing the final grade and the proportional importance of each factor is shown below:

Assignment

Percent

Participation (includes participation in class/exercises/projects/field studies, as well as behavior that is beneficial to the learning of peers)

10%

Mandatory assignments

40%

Final Project 1: Project Materials

30%

Final Project 2: Presentations and Test Run

20%

 

Academic Regulations

Please make sure to read the Academic Regulations on the DIS website. There you will find regulations on:

DIS - Study Abroad in Scandinavia - www.DISabroad.org

 

Course Summary:

Date Details Due