Welcome to Web Programming for Apps and Services
Welcome to the Web Programming for Apps and Services course. This document has information that helps you get started in the course.
Course introduction
In this course, you will learn to create web client (front end, in the browser) apps that work with a web service (back end, in the server). The apps will enable entry-level functionality, which can be hosted on-premise or in the cloud.
Throughout the learning process, you will learn foundational concepts, skills, and technologies that will enable you to create high-quality intermediate and advanced-level web applications in the future. These foundations will include:
- JavaScript
- Web API (web services) on a modern server stack (Node.js, Express.js, and MongoDB)
- The concept (and application) of front end web client development
- The React and Next.js libraries
How can you get started?
Get familiar with the course content online.
Using your own personal computer
The student will use a number of applications and development tools, including:
- A modern web app execution environment (Node.js, Express.js, MongoDB)
- Visual Studio Code
- Various code generators
During the course, the professor(s) will guide the student in the installation, configuration, and use of the software.
Please be aware of the following:
If you have problems or difficulties using your own personal computer for course work, your professor will not be able to provide technical support. In a problem scenario, you are still expected to complete your work on time. A problematic personal computer cannot be used as an excuse for delays in completing the course work.
How to use these course notes
Every class/session will reference the notes posted here
Before you come into a class, you are expected to read and process the topics covered in the notes.
The format and style of the notes pages will vary. At times, they will be terse, with headings and keywords that are intended to guide the student through the topics. At other times, they will be lengthy, with narrative that explains and supports the topics. Expect a full range of formats and styles between these extremes.
Class/sessions are important. The notes do not attempt to capture everything that must be communicated in the process of learning a topic.
What do we expect from you?
Before the class in which there's a test, we expect you to prepare for the class. This means:
- Read and study the notes
- Read and study the linked documents
- Make your own notes, including questions that you have
In other words, do not come into the classroom expecting somehow to soak up knowledge like a sponge. You need to prepare before class, so that you understand the topics and their context.
In the Lecture class, we expect you to be an engaged and actively-learning participant. This means:
- Listening effectively
- Asking and answering questions
- Writing notes
- Doing the in-class exercises and activities
Before the lab session of the week, we also expect you to prepare for the class. This means:
- Being prepared to split your time between new topic learning, and working hands-on with the topic or the current assignment
- Asking and answering questions
- Writing notes
- Read and study the current assignment
- Practice its contents, and/or get started on its contents
Regarding the workload, it will simply not be possible to confine this course's learning experience to the scheduled class time. We expect you to spend some of the in-class time working on the assignments, but you must spend time out-of-class to complete the work.
That being said, you will encounter problems and delays. Please follow a general rule: If you cannot solve the problem within 20 to 30 minutes, then stop and set it aside. Seek help from your professor, during class time, or during the designated help time or office hours. Alternatively, seek help from a classmate who knows the solution to the problem.
Do not waste time. Do not attempt to wrestle the problem to the ground. Others will not think any less of you when you ask for help. You're here to learn, so take advantage of the course's resources and delivery to help you learn.