Topics for the final exam

The final exam will focus on Next.js. Since Next.js includes React and traditional JavaScript, you will need to know those topics as well.

The final exam will not cover database interactions. If a problem I give on the exam requires some sort of database interaction I will provide you with a function that you can call that will do the interaction for you.

Specific topics

Here are some specific things you should be able to do.

Client vs server components

An important distinction you should be able to make is deciding whether to make a component a server component or a client component. The most important rules you need to know to make this decision are

A common problem you will encounter is components that need to both read data from a database and offer the user buttons to click. The correct way to structure these components is to break them up into two components, an outer server component and an inner client component: