CSCI 446 Unit #7
Preparation - Overview and Important Concepts
Being able to explain technology and use appropriate vocabulary
will enhance your reputation in the workplace. For each assigned chapter
I will include a few self study questions. You don't need to turn
in your answers, but I strongly suggest
you spend at least a few minutes trying to answer each question, as
this will improve your general explanation skills and help to solidify your
understanding of MEaN. Be sure you understand the important vocabulary
terms (highlighted in bold). Have questions? Ask on piazza!
- Chapter 1. This chapter covers some important concepts, please
read (don't just skim).
- A student in 261 has expressed an interest in web
development and asks what full stack means. How
would you answer?
- What are some benefits of being a full-stack developer?
Reflect on your own priorities - is that appealing to you? (no right answer)
- Apache and IIS are web server programs. What exactly
is a web server? The author assumes readers are familiar, but if this
is new to you, please
review
https://en.wikipedia.org/wiki/Request%E2%80%93response.
- Node.js is a platform with a built-in HTTP library. What does this
mean?
- Suggestion: Find a page or video that describes HTTP, client-server
architecture, client-side vs server-side, etc. Post on
piazza for class participation points.
- Why did the designers of node.js choose a single-threaded rather
than multi-threaded approach?
- What does it mean for code to be non-blocking? What's an
example of code that is blocking?
- 1.3 and 1.4 are brief descriptions of Express and Mongo. It's
good to skim these, but both topics are covered in much more detail
later. You can skip 1.5, as it describes Angular (could be good to know,
but the book covers an obsolete version). Please also
skim 1.6 and 1.7.
- Chapter 2. Please read this chapter in detail.
- Anyone who plans to work in web development should understand
REST. This chapter has a brief description, more detail
will be provided as you work through the example application.
- What are some pros and cons of SPAs? This is a
topic we'll continue to explore.
- This chapter provides a good
example of how to make architecture decisions (e.g., the hybrid
architecture), the need for an API, and an
effective planning and development strategy (sections 2.4 and 2.5).
Even though we won't cover Angular, the decision process is still
relevant, and the development process models what you should do
in your final projects. Finally, few courses in school consider
development vs production systems, although this is a critical
distinction in industry. So be sure to read 2.6 Hardware architecture.
- Git. We'll be using git version control. The author provides
the needed syntax, but it's really best if you understand git, especially
for team projects. If you're new to git or need a refresher,
review this material on Git and GitHub.