CMSC 126: Web Programming
Course Description
This course introduces students to the discipline of web programming including the methods and techniques used in web-based system development.
Course Learning Outcomes
After completion of the course, the student should be able to:
- Understand and apply the concepts, principles, and methods of web engineering.
- Perform analysis and design modelling for web applications.
- Familiarize with the current technologies used for web engineering./li>
- Identify candidate tools and technologies to be used for developing your own web application.
- Create web applications as a full-stack developer.
- Apply DevOps practices in building, testing, and maintaining infrastructure and tools to allow for the speedy
development and release of web applications.
Course Outline
UNIT 1. Introduction to Web Development
- The World Wide Web
- The Internet
- Web Engineering
- Technological Stacks in Web Engineering
UNIT 2. Web Planning
- Software Development Life Cycles
- Agile Development
- Git & GitHub
- Kanban
- Scrum Development
UNIT 3. Web Designing
- User Experience
- User Interface
- Sitemaps, Wireframes, Mockups, and Prototypes
UNIT 4. Frontend Development
- HTML
- CSS
- JavaScript
- Frontend New Technologies (React, Angular, Vue, etc.)
- Frontend Testing
UNIT 5. Backend Development
- Server-side Programming
- Web Servers
- PHP
- Backend New Technologies (NodeJS, Django, Laravel, etc.)
- Backend Testing
UNIT 6. Web Deployment
- DevOps
- GitHub Pages
- Project Deployment
UNIT 7. Other Important Topics
- Web Application Improvements
- Computer Ethics
- Software Dependability
- Reliability, Safety, and Security
- Constant Learning
- Code Optimization