Topic 7. Challenges in Client-Side Engineering
In this unit, we will explore some software engineering ideas that are specific to client-side engineering. To do this, we're going to learn some HTML, CSS, JavaScript, and React concepts as a means of learning various client-side software engineering principles
Tuesday, 11/5
Slides & Activities
- Lecture 10Client-Side Engineering (Part I)
Readings
- Ask ChatGPT to answer the study questionsBe ready to have a conversation about the discussion questions, including what you learned from ChatGPT (and whether you think ChatGPT got it right).
- Readings are light this week so that you can work on Project 1!
- optional Intro to JavaScript Programming
Thursday, 11/7
Slides & Activities
- Lecture 11React
- Lab 7Intro to client-side programming with React
Readings
Tuesday, 11/12
Slides & Activities
- Lecture 12Client-Server Communication over HTTP
Readings
- optional How A Small Team of Developers Created React at Facebook (video)
- Readings are light this week so that you can work on Project 1!
Study Questions
- What is front-end engineering? What is UI engineering?
- When did it become a distinct subdiscipline of computer programming?
- What are some of the specific challenges that front-end engineers must navigate?
- What are some common technologies used in front-end engineering?
- What's the best way to get a job in UI engineering?
- Is UI engineering easier than other forms of engineering?
- What is functional programming?
- What is a bundler?
- What are the tradeoffs of using a client-side framework?
- What is the purpose of the
package.json
andpackage-lock.json
files?