General Information
| Item | Details |
|---|---|
| Course | Internet Applications |
| Catalog number | IT202 |
| Section(s) | 450 |
| Semester | Summer 2026 |
| Modality | Online Async |
| Credits | 3 |
| Instructor | Matt Toegel |
| matthew.toegel@njit.edu | |
| Discord | MattToegel |
| GitHub | MattToegel |
Meeting Times
| Section | Time | Location |
|---|---|---|
| 450 | N/A | Online |
Office Hours
| Time | Location |
|---|---|
| General Availability | Discord/Email |
General availability is also provided on Discord through the course communication channel.
Overview
Internet Applications discusses the concepts and implementation of web applications across the frontend, backend, and data layers. Topics include markup and styling with HTML and CSS, client-side scripting with JavaScript and jQuery, asynchronous requests with AJAX-style workflows, server-side scripting with PHP running on Apache, and persistent data storage with MySQL.
This course is heavily hands-on and uses a milestone approach for a semester-long project. Students will use Git and GitHub throughout the semester to record work, practice professional development workflows, and submit assignment evidence through Canvas.
Catalog Description
Prerequisites: CS 100, CS 113, CS 115, or a course in a high-level programming language as approved by the department.
This course presents the concepts and software technologies that underlie web-oriented, three-tier software architectures and applications. Topics include markup languages used by browsers, client-side scripting languages and libraries, web servers, server-side scripting languages, HTTP, SQL, and MySQL. The course uses a hands-on, guided development approach with substantial assignments to illustrate the core systems and technologies and provide direct experience in their use.
Expected Background
Prior web development experience is helpful but not required. Students are expected to have a reasonable computing background and should be willing to practice:
- File and folder navigation
- Command line usage
- Installing software
- Editing text files
- Reading error messages
- Following structured setup instructions
If these topics are new, review these resources early:
- GCFGlobal: Basic Computer Skills
- Operating Systems: Filesystems
- Visual Studio Code: Getting Started
- Client-Server Architecture Overview
- Debugging: The 9 Indispensable Rules
Course Format
Class will be asynchronous. Content will be broken down into Modules where a Module typically starts on Monday 12am and ends on Sunday 11:59pm.
Modules will include presentations with recorded lectures, assignments, readings, and quizzes about a specific set of topics.
Students are strongly encouraged to ask questions via the noted communication channels in this syllabus. Many course problems are easier to fix early, especially setup, Git, deployment, database, and project structure issues.
It's recommended to reach out over Discord/Email or Canvas Inbox as a backup rather than using Canvas Comments. Canvas Comments should be used for things that are ok being seen when grading occurs, but if there's a more immediate issue/question, one of the other means of communication are faster.
Exams will require Respondus Lockdown Browser with Webcam capabilities. Students should make sure Respondus works on at least one device that can meet the exam needs.
Learning Outcomes
By the end of the course, students should be able to:
- Use PHP as a general-purpose programming language.
- Install and run PHP.
- Design an algorithm to solve a problem.
- Write and run PHP scripts.
- Follow standard conventions for software development.
- Use PHP to handle user interactions and backend logic on a running web server.
- Run the built-in PHP web server for local development and testing.
- Run course projects on a publicly accessible web host such as Render.com.
- Use any approved host that supports Apache or Apache-like web hosting.
- Connect PHP to MySQL to invoke SQL CRUD operations.
- Use CSS to apply styles and theming to web pages.
- Use CSS libraries and frameworks such as Bootstrap 5.
- Make mobile-friendly and cross-platform designs.
- Structure and lay out pages with HTML tags and semantics.
- Structure valid HTML specification documents.
- Combine language content into the same document.
- Determine which languages will be interpreted based on the file extension.
- Reference other files with
includeorrequire.
- Use MySQL for persistent data storage and retrieval.
- Remotely connect to a MySQL instance through an IDE, development tools, and the hosting platform.
- Construct SQL queries to create tables.
- Construct SQL queries to read data from tables.
- Construct complex SQL queries such as joins.
- Construct SQL queries to add rows or records to tables.
- Construct SQL queries to update rows or records in tables.
- Construct SQL queries to delete rows or records from tables.
- Modularize code into reusable components to aid development.
- Problem solve and debug.
- Use error output, logs, and other debugging techniques.
- Formulate code to solve complex problems.
- Analyze, interpret, and integrate course-provided code.
- Use version control.
- Use Git commands through the terminal or command line.
- Use GitHub to manage histories of course work.
- Gain experience with a milestone approach to building a complex project.
- Incrementally develop a large project in a sprint-like structure based on provided guidelines.
- Extend existing code to add new features.
- Add new files to solve requirements.
- Leverage course concepts effectively.
Illustrative Schedule
The schedule is a guideline and may change based on class pace, project needs, and troubleshooting needs. Some modules may span more than one week.
| Module | Topics |
|---|---|
| Module 1 | Overview/Introduction of Course, environment setup, Git/GitHub intro |
| Module 2 | PHP and JavaScript intro, data types, flow control, loops and iterations |
| Module 3 | HTML intro, forms, JavaScript/CSS selectors |
| Module 4 | SQL basics, project and SQL setup, user authorization registration, navigation with dynamic state changes, user authorization login, PHP templating / conditional HTML concepts, project data source chosen from RapidAPI.com |
| Module 5 | Regex intro, flash messages and user feedback, alternative login username, user profiles, midterm |
| Module 6 | Authorization user roles, login enhancement, dynamic content and data-driven development, project milestone 1 introduced |
| Module 7 | Ajax intro, Bootstrap, reusability, working with APIs |
| Module 8 | jQuery intro and comparison, using API data via PHP, CRUD operations of core project data, API data, custom user-entered data, project milestone 2 introduced |
| Module 9 | Entity associations between API/custom data and users, milestone 3 concepts, project milestone 3 introduced |
| Module 10 | Other data associations and analytics, public user profiles, automatic fetching/refreshing of API data, continued milestone 3 concepts, final project wrap-up |
Schedule Notes
Although some modules aim to isolate certain concepts, due to the full-stack nature of the course there will commonly be usage of most of the noted programming languages in later modules.
When applicable, security and best practices will be discussed in each module.
Assignments
Each week there will be coding samples, guided practice, worksheets, labs, quizzes, or project work related to the current module. Additional online resources and recordings will be available through Canvas to support your learning.
Canvas is the main hub for mapping course content, deadlines, assignment instructions, quizzes, and submission requirements. The Learn Courses Platform may be used for assignment evidence gathering, structured worksheet output, or course-specific workflow support when directed.
Assignments are generally graded out of 10 points unless otherwise noted.
Semester-Long Project
There will be a semester-long project that each student will incrementally develop as new topics are learned. A set of requirements and objectives will be given through a proposal document at the start of the semester.
The project will be based on an agreed-upon proposal and will cover the material discussed in class. During the semester, there will be milestone deliverables for groups of features from the project. These milestones will cover the gist of the features; there commonly is some time between the last milestone and the final demo or deliverable where the remaining features can be implemented or cleaned up.
Milestones are graded out of 10 points.
Students are expected to use the course material and structure to work on the project because this aids learning, debugging, and grading, and it provides helpful perspective for anyone already familiar with a particular design or structure.
Quizzes
There will be weekly online quizzes that test the current module's topics. These will be taken through Canvas by the designated due date, typically the following Monday night of the particular module unless Canvas states otherwise.
Each quiz requires a passphrase, generally has one attempt unless otherwise noted, and will generally be capped at 10 minutes. Scoring is out of 10 points.
These are expected to be closed notes and taken individually. Part of the goal is to highlight the topics that require extra review or study because they will come up again in the semester.
Exams
The midterm will use Respondus, so be sure to have a compatible device available on the day of the assessment. The midterm will cover the material from modules one to four. The exam will be closed book unless the instructor announces a different arrangement.
The exam is graded out of 100 points.
Grading Breakdown
| Category | Weight |
|---|---|
| Midterm | 20% |
| Quizzes | 15% |
| Participation/Attendance | 5% |
| Assignments | 10% |
| Milestones 1-2 | 25% |
| Final Project Deliverable | 25% |
| Final Demo | Included in final project deliverable |
All points will be converted to a final percentage and letter grade at the end of the semester. Canvas will already have the weights applied.
Extra Credit
Extra credit may be given for exceptional programming projects at the discretion of the instructor.
Grading Scale
| Grade | Percentage Range |
|---|---|
| A | 89.5% to 100% |
| B+ | 84.5% to below 89.5% |
| B | 79.5% to below 84.5% |
| C+ | 74.5% to below 79.5% |
| C | 69.5% to below 74.5% |
| D+ | 64.5% to below 69.5% |
| D | 59.5% to below 64.5% |
| F | Below 59.5% |
Materials And Technologies
This course uses online resources instead of a traditional textbook. Required and recommended resources will be mapped through Canvas.
Common references include:
Students will use:
- Canvas for official assignments, assessments, grades, and announcements
- Learn Courses Platform for assignment evidence gathering or course workflow support when directed
- Git and GitHub for version control and assignment evidence
- VS Code or another suitable editor
- PHP, Apache, and MySQL for the web application stack
- Render.com to host a QA version of their content and a production version of their hosted content
- The QA instance is for testing and verifying that things work outside of localhost. It is a sandbox before moving to production
- The free tier will be used on this platform
- A remote MySQL connection provided for each student to utilize across their environments
- A local VM path for local Apache/PHP/MySQL practice when assigned
- A device meeting YWCC minimum specifications
Students need administrative access to their computer to install required software.
This class has a GitHub page where you can find out how the course materials are built and have changed over time.
Required Tools
The current course direction uses these tools:
- Git for Windows, Git for macOS, or Git for Linux
- GitHub
- GitHub Education, recommended but not required
- VS Code
- PHP 8.x
- Render.com
- MySQL
- VirtualBox as the primary local VM path
- VMware as a fallback local VM path when VirtualBox is not a good fit
Course Workflow Expectations
Students should expect to submit evidence that demonstrates both behavior and process:
- GitHub repository link
- Branch or pull request evidence when requested
- QA deployment link for screenshot and worksheet evidence
- Production deployment link for graded deployed behavior when required
- Screenshots or worksheet outputs when requested
- Database evidence when requested
- Explanation of what changed and why
- AI collaboration disclosure when used
Policies
Course Structure And Template Use
Assignments must follow the provided templates, naming conventions, repository structure, and lesson code unless the assignment explicitly allows another approach.
Submissions that replace the taught structure with unrelated generated code or unsupported frameworks may receive no credit because they cannot be fairly evaluated against the course objectives.
Academic Integrity
The work done is expected to be your own, any group work should clearly distinguish ownership of tasks. Use of snippets/material from others should be kept to a minimum and the source should be accredited where applicable.
Academic Integrity is the cornerstone of higher education and is central to the ideals of this course and the university. Cheating is strictly prohibited and devalues the degree that you are working on. As a member of the NJIT community, it is your responsibility to protect your educational investment by knowing and following the academic code of integrity policy that is found at:
Please note that it is my professional obligation and responsibility to report any academic misconduct to the Dean of Students Office. Any student found in violation of the code by cheating, plagiarizing, or using any online software inappropriately will result in disciplinary action. This may include a failing grade of F, and/or suspension or dismissal from the university. If you have any questions about the code of Academic Integrity, please contact the Dean of Students Office at dos@njit.edu.
AI Usage Policy
AI may be used as a support tool, but it may not replace the student's understanding, implementation, or explanation.
Acceptable AI use includes:
- Asking for syntax explanations
- Asking for error-message explanations
- Reviewing code the student wrote
- Generating practice ideas
- Asking for debugging strategies
Unacceptable AI use includes:
- Submitting code the student cannot explain
- Using AI to bypass the course template or requirements
- Pasting generated full solutions
- Hiding meaningful AI assistance
When AI is used meaningfully, it must be disclosed and cited according to the NJIT Library AI citation guidance. Failure to disclose AI use within the policy may result in a zero for the assignment.
Requesting Accommodations
Students who need accommodations due to a disability should contact the Office of Accessibility Resources & Services to discuss their needs. A Letter of Accommodation Eligibility from OARS is required before accommodations can be applied.
Resources For NJIT Students
NJIT provides student services including technical support:
Class Etiquette
Students who attend, participate, and ask questions are usually more successful. Questions are encouraged because they make setup, debugging, and implementation issues easier to solve before they become larger problems.
Students are responsible for checking Canvas regularly, reviewing each module's posted work, and keeping track of their own progress, deadlines, submissions, and feedback.
Proctoring
NJIT policy requires midterm and final exams to be proctored regardless of delivery mode unless an assessment type is exempt. The exam for this course will use Respondus. Students are responsible for having a compatible device that can meet the exam requirements.
Late Policy
Deliverables may receive a 5% penalty per day late based on the posted due date. Canvas will automatically mark late or missing assignments as zero until grading is completed.
Assignments may also have a lock date. After the lock date, the assignment can no longer be submitted without an approved Dean of Students reason.
Missed exams or quizzes will result in a zero, but may be rescheduled within a reasonable timeframe with an approved Dean of Students reason.
If you will miss class or cannot submit an assignment, contact the instructor as soon as possible. Emergency absence situations should go through the Dean of Students absence verification process.
Attendance Policy
Students are expected to keep up with each scheduled module and complete required participation, quiz, assignment, and project work by the posted deadlines. Attendance or participation will be recorded through Canvas activity, required submissions, or other announced course checks.
Face-to-Face sections will record attendance each class.
Closing Notes
This syllabus is subject to change. Attend class and monitor Canvas to stay current.