Syllabus - Columbia University

advertisement
Digital Literacy for Decision Makers
Instructor: Peter Bell
Professor Office Location: tbd
Office Phone: tbd
E-mail: tbd
Office Hours: Before class – 9am-10am and after class, 5.30pm-6.30pm
TEACHING ASSISTANTS
tbd
TA Office Hours
COURSE SHORT DESCRIPTION
As an entrepreneur, executive or manager, you are often dependent on software to achieve your goals. Industries are
increasingly being disrupted by companies that understand the digital world, even if they have limited domain expertise
- from Uber to AirBnB. In this class we’ll learn just enough about the web, mobile apps, wearables, the internet of things,
specifying software and managing software developers to compete more effectively on the digital battlefield.
COURSE LEARNING OBJECTIVES
1. A technology primer - to help you in understanding how key internet technologies work in a way that will help you to
better make decisions relating to technology strategy.
2. Specifying software - increasingly business objectives will be achieved through the development of bespoke software.
In this section we’ll give you an understanding of proven best practices for effectively specifying software - along with an
understanding of the limits of predictability - especially when iterating towards innovative solutions.
3. Managing software development - in this section we'll introduce you to best practices in software development so
you know what to expect from a professional team and we’ll cover how to effectively collaborate with and manage a
software development team.
COURSE ROADMAP/SCHEDULE
Session 1. A Technology Primer - 6 hours













Technologies that power the Internet (browser, laptop, WiFi, routers, DNS servers, web server(s))
The languages of the web (HTML, CSS, JS, common server side languages and frameworks)
Front end vs back end development (understanding the difference and trends with Single Page Apps)
A modern web architecture (showing typical architectures for MVPs and for more scalable systems)
Mobile web (mobile first, responsive design, common frameworks)
Mobile apps (native and intermediate technologies, penetration, cross-platform strategies)
Mobile strategies (site vs. app vs. both)
Databases (SQL, NoSQL - key/value, column, document, immutable and graph - and New SQL)
The basics of big data (tools and techniques - what it can and can’t do)
From desktop to tablet and mobile (trends in interaction)
Beyond the phone (wearables and the future of advertising, interaction and habit design)
The internet of things (what happens when everything is online?)
Understanding API’s (the opportunities of both creating and consuming APIs)
Session 2. Specifying software - 6 hours









The lean startup (why software isn’t usually the best starting point)
Creating a lean canvas (“the new business plan”)
Approaches to validating assumptions (alternatives to coding)
The limits of Big Design Upfront (practical limits to planning)
Understanding Agile (the Agile manifesto, the implications of the principles, the risks of faux-agility)
The problem with prototypes and mockups (issues with traditional approaches to specifying software)
User stories (the Connextra format, what makes a good user story)
From incremental to iterative (handling innovation risk)
Practical prototyping (hands on experience using prototyping software)
3. Managing software development - 6 hours





Best practices for software development (the basics of Continuous Delivery and the underlying principles)
Technologies for managing tech teams (features, bugs, code review, chat)
Using GitHub to manage a tech team (history of Git and GitHub, the “GitHub flow” workflow, branches,
commits, using the web interface, forks for low trust collaboration, single repo collaboration using feature
branches and pull requests, issues and pulse)
Using slack for collaborating on a project (hands on experience using one of the most popular new chat clients)
Understanding ChatOps (using hubot for automating tasks)
Page 2 of 4
ASSIGNMENTS/METHOD OF EVALUATION
Your grade for this course will be based on the assessments outlined below:
1. A technology primer



Type C individual assignment - complete an online quiz testing both retention and understanding of the
concepts from the class – 10% of grade – due Tuesday November 4th, 5pm EST
Type C individual assignment - given a startup case study, create a proposed strategy for developing
technology for the startup (a series of detailed questions to provide answers to around architecture and
mobile strategies) – 10% of grade – due Tuesday November 4th, 5pm EST
Type C individual assignment - given a startup case study, research and recommend API’s that could
both be used by and provided by the startup – 10% of grade – due Thursday November 6th, 5pm EST
2. Specifying software



Type C individual assignment - complete an online quiz testing retention and understanding of the
concepts from the class – 10% of grade – due Tuesday November 11th, 5pm EST
Type A group assignment - Given an enterprise new product case study, create a lean canvas, come up
with a list of assumptions and do initial validation of assumptions – 15% of grade – due Tuesday
November 11th, 5pm EST
Type A group assignment - Given an enterprise new product case study, work as a group to brainstorm
features, prioritize functionality and create a list of user stories for the backlog - also deliver a
supporting prototype – 10% of grade – due Thursday November 13th, 5pm EST
3. Managing Software Development


Type C individual assignment - complete an online quiz testing retention and understanding of the
concepts from the class – 10% of grade – due Tuesday November 18th, 5pm EST
Type A group assignment - As a team “build” a piece of software using GitHub, collaborating using
feature branches, pull requests, local and online commits, code reviews and issues – 25% of grade – due
Thursday November 20th, 5pm EST
The online quiz’s will be designed to test a combination of retention and understanding of the underlying concepts. The
individual case studies will be graded 75% based on the quality of the recommendations and 25% on the clarity of the
written communication. The group projects will be graded equally based upon the quality of the output/outcomes and
the use of the concepts from the class to collaborate effectively.
REQUIRED COURSE MATERIALS
None. I’ll share a private GitHub repo with resources. Make sure to sign up for a free GitHub username before class
Page 3 of 4
CLASSROOM NORMS AND EXPECTATIONS
Because of the small number of sessions, attendance at all three sessions is required. Eating/drinking in class is allowed
and laptop use is encouraged. Class will start on time, so please try to be in the classroom 10 minutes before the
scheduled start time.
INCLUSION, ACCOMMODATIONS, AND SUPPORT FOR STUDENTS
At Columbia Business School, we believe that diversity strengthens any community or business model and brings it
greater success. Columbia Business School is committed to providing all students with the equal opportunity to thrive in
the classroom by providing a learning, living, and working environment free from discrimination, harassment, and bias
on the basis of gender, sexual orientation, race, ethnicity, socioeconomic status, or ability.
Students seeking accommodation in the classroom may obtain information on the services offered by Columbia
University’s Office of Disability Services online at www.health.columbia.edu/docs/services/ods/index.html or by
contacting (212) 854-2388.
Page 4 of 4
Download