This is COMP 721: Web Development. The course has been updated with new slides that can be accessed on Canvas. The lecturer presenting this course is Nathan, who is substituting for the usual instructor, Gian, who is on research and state leave.
Introduction to the lecturer and course materials
Overview of the course schedule
Assessment structure
Discussion on the World Wide Web and the Internet
Basics of web applications, HTTP, and HTML
Nathan is a lecturer in the Department of Computer Information Sciences and the School of Engineering, Computer Mathematical Sciences. His office is in the building across the road on level 11, and he prefers students to email him ahead of time to arrange meetings due to the open-plan office setup. Nathan completed his PhD in Computer Systems Engineering in 2020, focusing on verifying real-time models for pacemakers, intersecting biology and computational systems. He holds a Bachelor of Engineering in the same field and has research interests in cyber-physical systems, biomedical embedded systems, formal methods, distributed computing, and AI.
Labs begin next week; students are advised not to attend this week as it may be unsupervised.
There is a considerable emphasis on keeping up with lab assignments to avoid cramming before deadlines. Each lab task contributes to 20% of the total course marks, with a total of ten labs.
TAs will assist in different lab sessions. It is advisable to contact Nathan with queries rather than the TAs, who have specific hours and responsibilities.
The total mark distribution includes:
Assignments (50% of total marks)
Assignment 1: Due by 2nd May (25%)
Assignment 2A2: Due by 30th May (25%)
Lab Tasks: 20% total (2% for each lab task)
Online Problem-Solving Quizzes: Total of 30% (15% each quiz)
Students should complete all ten labs and aim to keep up with lab schedules to receive marks. Missing deadlines will affect grading.
Week 1: Introduction to the course
Weeks 2-3: HTML and CSS basics
Weeks 4-5: SQL and NoSQL databases
Weeks 6-7: PHP and JavaScript interactivity
Weeks 8-9: Advanced client-side processing, APIs, and frameworks
The lecture dives into the concept of the Internet and its various topologies (star, grid, tree, ring, and fully connected). The Internet is represented as a network of nodes connecting users. The modern Internet employs a hub-and-spoke model with redundancy to ensure connectivity. It began with simple node structures and has evolved into a complex network connecting billions of devices worldwide.
The HTTP (Hypertext Transfer Protocol) is defined for communication over the web, with methods such as GET and POST for retrieving and sending data. It is important for students to understand how requests are handled and how responses are structured, including status codes (e.g., 200 for success, 404 for not found, 301 for redirects).
HTML (Hypertext Markup Language) is introduced as the backbone for structuring web content. It outlines how documents are created, with functional distinctions like block and inline elements. The lecture covers necessary tags such as headings, paragraphs, and lists. The importance of separating content (HTML), styling (CSS), and behavior (JavaScript) is highlighted and serves as a foundational principle for web development.
Students are guided through examples of basic HTML, including structured documents, links, images, tables, and the significance of each component. Best practices around attributes and maintaining semantic integrity in web documents are discussed, as well as the value of responsive design that adapts for different user experiences.
이 과정은 COMP 721: 웹 개발입니다. 이 과정에서는 새 슬라이드가 업데이트되었으며, Canvas에서 확인할 수 있습니다. 이 과정을 진행하는 강사는 Nathan이며, Gian 교수님이 연구 및 주국을 이유로 불참하는 동안 대체 강사로 진행합니다.
강사 및 코스 자료 소개
과정 일정 개요
평가 구조
월드 와이드 웹 및 인터넷에 대한 토론
웹 애플리케이션, HTTP 및 HTML의 기초
Nathan은 컴퓨터정보학과 및 공학, 컴퓨터 수학 과학부의 강사입니다. 그의 사무실은 도로 건너편 11층에 있으며, 열린 사무실 구조로 인해 미리 이메일로 약속을 정해주기를 선호합니다. Nathan은 2020년 컴퓨터 시스템 공학 박사 학위를 받았으며, 생물학과 컴퓨터 시스템의 교차점에서 실시간 모델 검증에 집중했습니다. 그는 같은 분야의 공학 학사 학위를 보유하고 있으며, 사이버 물리 시스템, 생물 의학 내장 시스템, 형식적 방법, 분산 컴퓨팅, AI에 대한 연구 관심을 가지고 있습니다.
실습 수업은 다음 주부터 시작됩니다. 학생들은 미리 참석하지 않도록 조언받고 있으며, 이번 주에는 감독 없이 진행될 수 있습니다. 각 실습 작업은 전체 성적의 20%에 기여하며, 총 10개의 실습이 있습니다. TA들이 각기 다른 실습 세션을 도와드릴 것입니다. 질문은 TA에게 연락하기보다는 Nathan에게 문의하는 것이 좋습니다. TA는 특정 시간과 책임이 있습니다.
총 점수 배분은 다음과 같습니다:
과제 (전체 점수의 50%)
과제 1: 5월 2일까지 제출 (25%)
과제 2A2: 5월 30일까지 제출 (25%)
실습 작업: 총 20% (각 2%의 실습 작업별)
온라인 문제 해결 퀴즈: 총 30% (각 퀴즈 당 15%) 학생들은 모든 10개의 실습을 완료하고 실습 일정에 따라 유지하도록 목표해야 하며, 데드라인을 놓치면 성적에 영향을 미칠 것입니다.
1주차: 과정 소개
2-3주차: HTML 및 CSS 기초
4-5주차: SQL 및 NoSQL 데이터베이스
6-7주차: PHP 및 JavaScript 상호작용
8-9주차: 고급 클라이언트 측 처리, API 및 프레임워크
강의는 인터넷의 개념과 여러 토폴로지(스타, 그리드, 트리, 링 및 완전 연결)에 대해 다룹니다. 인터넷은 사용자를 연결하는 노드 네트워크로 표현됩니다. 현대 인터넷은 연결성을 보장하기 위해 중복성과 함께 허브와 스포크 모델을 사용합니다. 초기 간단한 노드 구조에서 시작하여 전 세계 수십억 개의 장치를 연결하는 복잡한 네트워크로 발전했습니다.
HTTP(할퍼텍스트 전송 프로토콜)는 웹을 통한 통신을 위해 정의된 것으로, GET 및 POST와 같은 방법을 사용하여 데이터 검색 및 전송을 처리합니다. 학생들은 요청이 처리되는 방법과 응답 구조를 이해하는 것이 중요하며, 상태 코드(예: 200은 성공, 404는 찾아볼 수 없음, 301은 리디렉션)에 대한 이해가 필요합니다. HTML(하이퍼텍스트 마크업 언어)은 웹 콘텐츠 구조를 위한 핵심 요소로 소개됩니다. 문서 생성 방법을 설명하며, 블록 및 인라인 요소와 같은 기능적 구분이 포함됩니다. 제목, 문단 및 목록과 같은 필요한 태그를 다루며, 콘텐츠(HTML), 스타일(CSS) 및 동작(JavaScript)을 구분하는 것의 중요성이 강조됩니다. 이는 웹 개발의 근본 원칙으로 작용합니다.
학생들은 구조화된 문서, 링크, 이미지, 테이블 등 기본 HTML의 예제를 안내받으며 각 구성 요소의 중요성을 이해합니다. 속성 및 웹 문서에서 의미론적 무결성을 유지하는 최선 사례에 대한 논의와 다양한 사용자 경험에 맞게 조정되는 반응형 디자인의 가치를 강조합니다.