CS 17: Foundations of Technical Entrepreneurship — Spring 2022


Class announcements will be posted here and/or sent as email. You are expected to check your email frequently for class announcements. All assignments and readings are posted on the class Schedule.

Class Info

  • Student Facilitators: Sean Cheng, Theron Mansilla, and Christina Wang

    • Office Hours: by appointment only

  • Sponsoring Professor: Michael Wehar

  • Class:

    • Wednesdays 4:15 PM - 5:30 PM (CLOTHIER 016)

    • Thursdays 6:45 PM - 8:00 PM (SCI 256)

  • Optional Readings:

    • Zero to One by Peter Thiel

Course Description and Goals

Entrepreneurship is one of the highest leverage ways you can make an impact in the world.

This course is intended to help students gain a better understanding of the overall startup and venture capital funding landscape, acquire a better working vocabulary of the terms within the industry, and learn how professionals think about building and scaling their startups. There will be a technical component of this course where students learn how to build a landing page for a startup and learn to break down the different technical considerations when it comes to building a software product. We will then conclude with how students can take the next steps in their entrepreneurship education by working at a startup.


  • Teach students the foundational frameworks and principles of founding a company from ideation to launch.

  • Build a community of Swarthmore students interested in entrepreneurship that will stay with them throughout their time at Swarthmore and beyond.

  • Develop students’ entrepreneurial mindset by equipping them with mental models for thinking critically about problems they experience and creating scalable solutions.

  • Articulate the key skills and experiences required to become an effective entrepreneur and empower students to develop these skills via interning with a startup.


This is a tentative schedule; it may change as we go.


Mar 16


Course introduction

  1. Why to Not Not Start a Startup, Paul Graham

  2. Smart People Should Build Things, Andrew Yang

Week 1

Mar 17


Mar 23


Where do startup ideas come from?

  1. How to Get Startup Ideas, Paul Graham

  2. 0 to 1 in Unfamiliar Industries, Andy Lee

  3. How to come up with startup ideas twitter thread, Julian Shapiro

    4.Frameworks for Startup Ideas, Erik Torenberg

Week 2

Mar 24


Mar 30

Startup Ideation Plan

Building a great team + scaling your startup

  1. 6 Skills for Successful Startup Founders, Gary Tan

  2. Getting Good at Startups, Andy Lee

  3. Startup = Growth, Paul Graham

  4. How June went from an idea to a 2 million dollar seed round, Erik Torenberg

  5. How Superhuman Built an Engine to Find Product Market Fit, First Round Capital

Week 3

Mar 31


Apr 06


The World of Venture Capital and Accelerators

  1. How to create a high converting seed pitch deck, Kelvin Yu

  2. How to Present to Investors, Paul Graham

  3. A Student's Guide to VC, Linda Tong

Week 4

Apr 07

User Acquisition Plan


Apr 13


Interning at a Startup

  1. Interning at a startup - networking your way in, Sean Cheng

  2. Gap Year Playbook, Nathan Leung

  3. Different Roles at Tech Companiese for you? - What's the role for you?, Christina Wang


Apr 14

Startup Landing Page

Technical Specification


Apr 20

Aaron Levie
Julie Bornstein

Guest Speakers

Apr 21

Brian Chen
Chirag Chotalia


Apr 27


Final Pitch Competiton


Apr 28

Final Pitch Competition

Course Expectations and Assignments

Student-run courses are graded on a Pass/Fail basis.

  1. A passing grade in this course requires satisfactory completion of the assignments of this course, namely the startup ideation plan, technical spec, landing page, and final pitch.

  2. Students are required to attend at least 13 out of 14 classes to receive a passing grade, excepting extenuating circumstances.

If students do not fulfill these requirements they will not receive credit.


For full participation credit, students will be expected to:

  • attend all classes (unless excused in advance),

  • and engage in discussions (whether that be listening/talking or both).

  • Students are NOT required to talk every class session if they are uncomfortable, but students will be expected to reflect on the material covered in lecture through written assignments.

Startup Ideation Plan [Individual]

In Week 2, we presented several frameworks for how to generate startup ideas. Utilizing any one of the frameworks, brainstorm a potential startup idea and explain how it fits into one of the frameworks. Describe the target customer, the problem the startup solves, and how the startup presents a solution. Address all of these components in a one-page response along with evidence that supports your claims.

User Acquisition Plan [Individual]

Construct a plan for acquiring users for your startup. List at least three different potential channels and metrics you will use to measure the success of your plan. Some elements to consider putting in your plan include:

  • Your target audience and who you want to reach

  • Any data or metrics you want to collect/track

  • The reasoning for why you think the particular acquisition channels you chose would be effective

Startup Landing Page [Individual]

We covered the important first step many founders take in creating a simple landing page for their startup. Building on what you learned this week about web development and the early startup landscape, construct a simple landing page for your startup. Your landing page must include the name of your startup, a description of the problem your startup is aiming to solve, and a form for collecting names and emails. Feel free to include information you feel a future customer would find useful.

Technical Spec [Group]

Write a technical spec on your startup’s product, describing what problem you are solving, the goals or requirements for your product, and how you plan to achieve this. Utilize one concept from a previous computer science course and elaborate on how you would implement this in your startup, pros, and cons, and why you chose this specific method.

  • Ex 1. If you took database systems, you may write out the schema for your database. You may talk about why you decided to use a relational database rather than a NoSQL database. You may go a step further and describe which real-life database product you plan to use (ex. MongoDB, Redis, Firebase, etc.)

  • Ex 2. If you have only taken CS35, you may talk about why you plan to use Djikstra’s rather than BFS to find the shortest path (hypothetically, if this is included in your product). You may even write up some pseudocode for it.

Final Pitch [Group]

Create a final slide presentation using the information you’ve collected from the previous assignments as well as the venture capital pitch guidelines we’ve provided you. Be prepared to present your slides to the class on our final day. Below are the following components that should be present in your slide deck:


Grades will be weighted as follows:




Startup Ideation Plan [Individual]


User Aquisition Plan [Individual]


Startup Landing Page [Individual]


Technical Spec [Group]


Final Pitch [Group]

Academic Accommodations

If you believe you need accommodations for a disability or a chronic medical condition, please contact Student Disability Services (via email at studentdisabilityservices@swarthmore.edu) to arrange an appointment to discuss your needs. As appropriate, the office will issue students with documented disabilities or medical conditions a formal Accommodations Letter. Since accommodations require early planning and are not retroactive, please contact Student Disability Services as soon as possible.

For details about the accommodations process, visit the Student Disability Services website.

You are also welcome to privately contact the sponsoring professor(s) or the student facilitators to discuss your academic needs. However, please note that all disability-related accommodations must be arranged, in advance, through Student Disability Services. To receive an accommodation for a course activity you must have an official Accommodations Letter and you need to meet a member of the course staff to work out the details of your accommodation at least two weeks prior to any activity requiring accommodations.

Academic Integrity

Academic honesty is required in all your work. Under no circumstances may you hand in work done with (or by) someone else under your own name. Your code should never be shared with anyone; you may not examine or use code belonging to someone else, nor may you let anyone else look at or make a copy of your code. This includes, but is not limited to, obtaining solutions from students who previously took the course or code that can be found online. You may not share solutions after the due date of the assignment or make them publicly available anywhere (e.g. public GitHub repository).

Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read anyone else’s code or let anyone else read your code. All code you submit must be your own with the following permissible exceptions: code distributed in class, code found in the course text book, and code worked on with an assigned partner. In these cases, you should always include detailed comments that indicates on which parts of the assignment you received help, and what your sources were.

Failure to abide by these rules constitutes academic dishonesty and will lead to a hearing of the College Judiciary Committee. According to the Faculty Handbook:

"Because plagiarism is considered to be so serious a transgression, it is the opinion of the faculty that for the first offense, failure in the course and, as appropriate, suspension for a semester or deprivation of the degree in that year is suitable; for a second offense, the penalty should normally be expulsion."

The spirit of this policy applies to all course work, including code, homework solutions (e.g., proofs, analysis, written reports), and exams. Please contact me if you have any questions about what is permissible in this course.