A good craftsperson is known by their
tools.
– proverb quoted by F.P. Brooks,
The Mythical Man-Month, 1975
-
Software development
process
- What is a life-cycle model?
- What are the basic phases of the waterfall model
and what general tasks are done in each one? We’ll
focus on the five phases shown in the diagram.
- Which of the software development models listed in the
article best describes your personal development habits?
Could it be the “Code and fix” model?!
-
Project Management Tools
-
Trello
- Review this background information on Trello.
- What is KanBan and how does it
relate to Trello?
- Is Trello tailored for software development?
- Getting
Started With Trello — Review this
short instructional video.
- Create an account for yourself on Trello. Please do this
before Friday so that your team can build its
project management board during the lab period.
For a more detailed tutorial, see Getting Started with Trello.
-
Clockify
- Familiarize yourself with the basic features of Clockify by working through
this tutorial on Trello Time
Tracking Integration.
- Review the first video, entitled “How
to track time in Trello”.
- Step 1 — Create a Clockify account for
yourself.
- Step 2 — Install the Clockify browser
extension.
- Steps 3–5 — You can do the other
exercises as time allows; your team will
start this work in the lab.
For more details, see Time Tracking Tutorials.
-
Slack
- Read this Slack features
page.
- Compare and contrast Slack with Trello and
traditional email.
- Create a login account on Slack using your Calvin
email address.
As with Trello, please create your account before
Friday.
-
Technology Stack — Review the following basic technologies.
We’ll be digging into them more deeply as the semester
goes on, so, for now, focus on the basic concepts.
-
JavaScript language
overview — Be able to explain and
implement:
- The basic Data types
and Control
structures, including:
number
;
string
; let
;
if-else
; while/for
.
- Objects,
including; literal key-value pair syntax; access
using dot (
.
) notation.
- Functions,
including: functions as first-class
objects; anonymous functions;
arrow notation; destructuring.
- Asynchronous
programming, focusing on promises.
- Modules,
focusing on NodeJS file-based modules.
- Closures,
focusing on the basic concept, not the details.
See the JavaScript Guide for
explanations and the
JavaScript Reference
for details.
- TypeScript: The
Basics — We’ll actually be using
TypeScript, so read the opening section of this article and
be able to explain the relationship between JavaScript and
TypeScript.
-
HTML/CSS — React Native abstracts away from these
basic web technologies but it‘s still useful to
understand the basics.
-
Structuring content
with HTML — We will mostly be working
with React Native’s JSX, but make sure that
you’re familiar with HTML tags (see
“Basic HTML syntax”).
-
CSS styling
basics — Understand the distinction
between the roles of HTML and CSS (see “What
is CSS?”) and how CSS is used to add style to
HTML elements (see “Getting started with
CSS?”).