πΆββοΈSelf-Directed Learning Roadmap
Start here if you want to learn parts of TechUp in your own time, at your own pace.
For those of us who may not have the time to undergo the full month-long TechUp, here are some curated, readily-available resources that the TechUp team recommends that you can get started with immediately.
The objectives of this learning roadmap are to:
Understand how the Internet works
Internet Infrastructure: Learn about the physical and virtual components that make up the internet, including servers, data centers, and undersea cables.
IP Addresses and DNS: Understand how devices are identified on the internet and how domain names are translated into IP addresses through the Domain Name System (DNS).
Data Transmission: Study how data is broken into packets, how these packets travel through different routes to reach their destination, and how protocols like TCP/IP ensure reliable communication.
Web Protocols: Explore protocols such as HTTP/HTTPS, which enable the transfer of web pages from servers to browsers.
Network Security: Learn about encryption, secure sockets layer (SSL), transport layer security (TLS), and other methods used to protect data during transmission.
Cybersecurity: Understand common internet threats like malware, phishing, and DDoS attacks, and learn basic strategies to mitigate these risks.
Understand product thinking. Key concepts:
User-Centered Design: Emphasize the importance of understanding user needs, preferences, and behaviors in product development
Product Vision and Strategy: Understand how to create a compelling product vision and align it with business goals and strategies.
Feature Prioritization: How to decide which features to develop first.
Prototyping and Testing: Understand how to create prototypes and conduct user testing to gather feedback and iterate on product design.
Metrics and Analytics: Understand key performance indicators (KPIs) and metrics to measure product success and inform decision-making.
Agile and Lean Methodologies: Learn about agile development practices and lean startup principles to create flexible, efficient product development processes.
Understand web development basics. Key concepts:
HTML and CSS: Learn the fundamental building blocks of web pages, including how to structure content with HTML and style it with CSS.
JavaScript: Gain basic proficiency in JavaScript to add interactivity to web pages, manipulate the DOM, and handle events.
Responsive Design: Understand how to create web pages that look and function well on a variety of devices and screen sizes.
Front-End Frameworks: Get an introduction to popular front-end frameworks like React and Vue.js that facilitate building dynamic user interfaces.
Back-End Development: Learn the basics of server-side programming with languages like Node.js, Python, or Ruby, and understand how to create APIs.
Databases: Understand how to interact with databases using SQL or NoSQL to store and retrieve data.
Version Control: Learn the basics of version control systems like Git to manage code changes and collaborate with other developers.
Deployment: Get an introduction to deploying web applications to the cloud using services like AWS, Heroku, or Netlify.
Week 1 (2 hours): How does the Internet Work?
a. How Computers Work
This playlist is an educational series of short videos that explain the fundamental concepts of computer science in an accessible and engaging way for beginners. Key topics include:
What Makes a Computer, a Computer?: Explains the basic components and functions of a computer.
Binary & Data: Introduces binary code and how computers use it to process data.
Circuits & Logic: Discusses how electrical circuits and logic gates form the foundation of computer operations.
CPU, Memory, Input & Output: Describes the role of the central processing unit, memory, and how computers interact with the outside world through input and output devices.
Hardware and Software: Covers how software is used to control hardware and perform tasks.
b. How the Internet Works
This playlist is a series of educational videos that explain the fundamental concepts and mechanics behind the internet. Key topics include:
What is the Internet?: An introduction to the internet, its structure, and how it connects millions of devices worldwide.
IP Addresses and DNS: Explains how IP addresses and the Domain Name System (DNS) help devices find and communicate with each other.
Packets, Routing, and Reliability: Discusses how data is broken into packets, how they are routed across the network, and methods to ensure reliable data transfer.
HTTP and HTML: Covers how the Hypertext Transfer Protocol (HTTP) and Hypertext Markup Language (HTML) are used to deliver and display web pages.
Encryption and Public Keys: Introduces encryption methods and public key infrastructure to secure data transmission.
Cybersecurity and Crime: Examines potential threats on the internet and strategies to protect against them.
c. What happens when you type a URL in the browser and press 'Enter'?
This Medium article (login required) explains the technical processes that occur when you type a URL into a browser and press enter:
DNS Lookup: The browser checks the URL to find the corresponding IP address using DNS.
TCP Connection: The browser establishes a TCP connection with the server.
HTTP Request: The browser sends an HTTP request to the server.
Server Response: The server processes the request and sends back an HTTP response.
Rendering: The browser renders the HTML content, along with CSS and JavaScript, to display the web page.
d. How the Internet Works (a round-up lecture)
Justyn Oh, Software Engineer at Open Government Products, shares a crash-course framework on How the Internet Works, and some takeaways for policy-makers.
Week 2 (4 hours): Selected presentations from TechUp 2.0 and reading materials on Product Thinking
a. ProductUp slides
ProductUp is a half-day workshop conducted by Open Government Product's Product Managers on the overall product development process, from problem statements, to identifying target audience, to user journeys, all the way to iterating and funding successful projects. While this workshop is most effective in a hands-on setting, the slides and exercises will give you an overview of the thinking behind the product process.
b. Product Management in Software Development: How it Works
To expand on ProductUp, this video explains what product management means, including product market fit, product vision, strategy, understanding customers, product execution and product KPIs.
c. Products 101: What is 'good' product?
Conducted by Director/Products Directorate Chen Kaiwei, this session explains the outline of how to pitch a successful product, what a good problem statement is, and how to define outcome metrics.
d. DesignUp
The following presentations by Design Manager Mike Chen & Lead UX Researcher Darren Ng cover:
What is good design?
How do you design your prototype?
How do you test your prototype?
e. Agile product ownership in a nutshell
This video provides an overview of the roles and responsibilities of a Product Owner within an Agile development framework. It highlights key concepts such as prioritizing the product backlog, defining user stories, ensuring clear communication with the development team, and maintaining a focus on delivering value to the customer. The video emphasizes the importance of collaboration, iterative progress, and adaptability in the product development process.
f. Product Metrics: How to Measure Product Success
This video explains which North Star metrics report on the productβs successes and failures. Key topics covered are: What is success for you, What are metrics (KPIs)?, user acquisition metrics, user engagement metrics, and financial metrics.
Weeks 3-6 (20+ hours): Web Development
a. Selected modules of the Complete 2024 Web Development Bootcamp on Udemy
The Complete 2024 Web Development Bootcamp on Udemy is a comprehensive course designed to teach students everything they need to become professional web developers. It covers front-end and back-end development, including HTML, CSS, JavaScript, Node.js, React, PostgreSQL, and more, including practical exercises to build real-world applications. The course is suitable for beginners, with step-by-step instructions and explanations.
We have selected a few of the more important modules (marked with "β") that we recommend learners to focus on:
b. Primers to understand Web Development
The TechUp team has also prepared primers to break down key concepts related to front-end development, Git/GitHub, HTML, CSS, JavaScript, back-end development Databases and APIs. These are short lectures with some hands-on exercises.
Weeks 7-10 and beyond (40+ hours): CS50 for Lawyers (highly recommended as a bonus)
CS50 for Lawyers is a highly-rated and well-acclaimed version of Harvard's renowned introductory computer science course tailored specifically for non-technical professionals. It provides a broad overview of computer science and programming, aimed at helping lawyers understand the technology landscape. Key topics include algorithms, data structures, cryptography, cybersecurity, and the basics of programming languages like Python and SQL. The course focuses on practical applications in the legal field, enabling lawyers to better navigate tech-related cases, communicate with technical experts, and understand the implications of technology on law.
CS50 for Lawyers is designed to be completed in about 10 weeks, with an estimated time commitment of 6 to 9 hours per week. It is particularly beneficial for policy officers who interact with technology but are not directly responsible for tech policy, strategy, or planning.
Last updated