CSC 443: Web Programming

Similar documents
CS 380 WEB PROGRAMMING

INFSCI 1017 Implementation of Information Systems Spring 2017

CIS 408 Internet Computing (3-0-3)

CIS 3308 Web Application Programming Syllabus

Computer Science Department

Cleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018

CSCI 6312 Advanced Internet Programming

FULL STACK FLEX PROGRAM

CMPE 280 Web UI Design and Development

Tecnológico de Monterrey Coding Boot Camp LIVE ONLINE PROGRAM

FULL STACK FLEX PROGRAM

FULL STACK FLEX PROGRAM

CMPE 280 Web UI Design and Development

LIVE ONLINE PROGRAM UNIVERSITY OF ARIZONA CODING BOOT CAMP CURRICULUM OVERVIEW

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336

FULL STACK FLEX PROGRAM

FULL STACK FLEX PROGRAM

,

FULL STACK FLEX PROGRAM

today what is this course about? what is this course about? Welcome to CSC309! Programming on the Web APRIL 05

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON)

Basic Web Application Development Spring credit hour Student Taught (Satisfactory/Unsatisfactory)

a Very Short Introduction to AngularJS

Web Programming Fall 2011

Advanced Client-Side Web Programming CSCI 491/595 Syllabus Fall 2018

61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601

FULL STACK FLEX PROGRAM

INFS 2150 (Section A) Fall 2018

Web Programming Spring 2010

CS142 - Web Applications

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

CS Final Exam Review Suggestions - Spring 2018

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

CS 241 Data Organization. August 21, 2018

FULL STACK FLEX PROGRAM

CS 241 Data Organization using C

JavaScript Fundamentals_

Hours: See Canvas staff information for TA hours.

FULL STACK FLEX PROGRAM

CodeValue. C ollege. Prerequisites: Basic knowledge of web development and especially JavaScript.

Information Brochure Information Brochure. An ISO 9001:2015 Institute. ADMEC Multimedia Institute. Web Master Plus. Designing Development Promotion

FULL STACK FLEX PROGRAM

Course and Contact Information. Course Description. Course Objectives

San José State University Computer Science CS 122 Advanced Python Programming Spring 2018

welcome to BOILERCAMP HOW TO WEB DEV

Course and Contact Information. Course Description. Course Objectives

CSC 309 The Big Picture

Full Stack Flex Program

Full Stack Web Developer Course

ECE : Fundamentals of Wireless Networking - Spring 2007

CIS 086 : Week 1. Web Development with PHP and MySQL

Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise)

Reading Writing Speaking Reading Writing Speaking. English Intermediate Intermediate Elementary Intermediate Intermediate Elementary

TTh 9.25 AM AM Strain 322

COS 333: Advanced Programming Techniques. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017

Web API Lab. The next two deliverables you shall write yourself.

HTML CSS JAVASCRIPT WEB PUBLISHING IN ONE HOUR A DAY SAMS TEACH YOURSELF COVERING HTML5 CSS3 AND JQUERY 7TH EDITION

Welcome to CS 241 Systems Programming at Illinois

CS50 Quiz Review. November 13, 2017

CENG 256 Internet Programming Draft

CS61A Lecture 1. Amir Kamil UC Berkeley January 23, 2013

Kickoff and Theme Reveal IAP 2017

Simple AngularJS thanks to Best Practices

SEEM4570 System Design and Implementation. Lecture 0 Introduction

COS 333: Advanced Programming Techniques

Web Engineering (CC 552)

Advanced PHP and MySQL

Instructor: Anna Miller

Learning PHP, MySQL, JavaScript, And CSS: A Step-by-Step Guide To Creating Dynamic Websites PDF

EECS 282 Information Systems Design and Programming. Atul Prakash Professor, Computer Science and Engineering University of Michigan

TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out

CSCE 441 Computer Graphics Fall 2018

Welcome to CS50 section! This is Week 10 :(

CARTO UNIVERSITY GROUP. Syllabus GEO 445/545 Computer-assisted Cartography Winter December 18, 2013

Byte Academy. Python Fullstack

CS 240 Fall Mike Lam, Professor. Just-for-fun survey:

N/A. Yes. Students are expected to review and understand all areas of the course outline.

This handbook contains directions on using tools and resources in WebAccess at CSM.

Developing ASP.NET MVC 5 Web Applications

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

INF 315E Introduction to Databases School of Information Fall 2015

COS 333: Advanced Programming Techniques. Robert M. Dondero, Ph.D. Princeton University

STRANDS AND STANDARDS

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

When learning coding, be brave

Course title: WEB DESIGN AND PROGRAMMING

CS535: Interactive Computer Graphics

CIS 101 Orientation Document Fall 2017

Full Stack Web Developer

WEBD 236 Lab 5. Problem

The Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.

San Jose State University College of Science Department of Computer Science CS185C, NoSQL Database Systems, Section 1, Spring 2018

Overview of the Class

JavaScript and MVC Frameworks FRONT-END ENGINEERING

N/A. Yes. Students are expected to review and understand all areas of the course outline.

Web Development & SEO (Summer Training Program) 4 Weeks/30 Days

CMSC433 - Programming Language Technologies and Paradigms. Introduction

Transcription:

1 CSC 443: Web Programming Haidar Harmanani Department of Computer Science and Mathematics Lebanese American University Byblos, 1401 2010 Lebanon Today 2 Course information Course Objectives A Tiny assignment Overview of the web area

Who Am I? 3 Haidar M. Harmanani Professor of Computer Science, Byblos haidar@lau.edu.lb 09.547254 x2360 810 Block A Course Webpage: http://vlsi.byblos.lau.edu.lb/csc443.html or http://harmanani.github.io/csc443.html (mirror) Course Overview 4 Project-based course with a lot of self learning You have to eventually develop a web project You choose the problem You choose the technology You choose the solution You do what you want! Work in groups of 2 Seminar and demo at the end Written report

Course Objectives 5 At the end of this class you will be able to: Design and implement an interactive and professional website using HTML, CSS, JavaScript and jquery Use PHP, MySQL and MongoDB for back-end programming Enhance interactive websites with AJAX, JSON, and XML Write simple constructs in NodeJS, Angular, and Python Course Objectives (cont.) 6 Furthermore, you will be able to: Understand the client-server programming model and apply this to your designs Create your own web programming portfolio Speak the web programming lingo Have fun with web programming!

Grading 7 Midterm: 25% Final: 35% Individual Labs: 15% Project: 25% Oral Presentation 2.5% Technical Merit 10% Look and feel 5% Technical Innovation 5% Written Report 2.5% Web technologies we will talk about 8 HTML5 CSS3 CGI Document Object Model (DOM) JSON - JavaScript Object Notation XML MySQL and MongoDB NodeJS JavaScript and JQuery AJAX AngularJS WebSocket Python for Web Programming and scraping

Breaking Down the Topics 9 The fundamentals HTTP: web servers, browsers, how they communicate Front-end (client side) programming HTML, CSS, JavaScript, JQuery Back-end (server side) programming PHP, databases, MVC frameworks (AngularJS), NodeJS, WebSocket... Deployment scalability, performance, security... Keep in Mind 10 Can t teach everything in detail We will cover the important fundamental concepts that may be ignored when you self-learn the stuff Teach the tools that you need to do the assignments. Expose you to various technologies so that you will know where to go if you want to learn more and deeper

Textbooks Info 11 Content Management Systems 12 A portal provides content authoring systems that allow non-technical staff to create content. Control access to content to allow only authorized users access to document repositories. In principle, Content Management Systems is a service (external application) which could be integrated within the portal Wordpress Drupal Joomla

Lab 1 13 Write an html page that gives some info about yourself by Thursday and host it on github pages! See https://pages.github.com Due on August 31, 2017 Why did you take CSC 443? 14

Why do you need CSC443? 15 Lectures 16 Check the schedule in the class webpage http://harmanani.github.io Read the syllabus and policies carefully Reading, assgs, and labs will be posted online

Lectures 17 Lectures will be interactive. This means: You will need to study the new material before every lecture (slides, book, and online material) We will have a lab on every lecture, so you will need to code in almost every lecture You will post your questions on the discussion board (on piazza) before each lecture. If you do not post any questions, I assume you have understood everything. Therefore You may be called in class to explain the material to your classmates Labs 18 Labs involve: Applying what we learned in class Clean design and coding Clear documentation Labs will be completed individually, unless stated otherwise Three Types A simple static web page with style n pure front-end A interactive web service where people can register and do cool stuff n front-end + back-end An online application n advanced front-end + back-end

And most importantly 19 Copy assignments and labs you shall not! Programming Project 20

Programming Project 21 You can start working on this from the first week of the class Design and implementation of a professional website: Professional Style Interactive You can complete the project in teams of two Programming Project 22 Your project should include at least four of the following grouped items with the first item being compulsory: HTML, CSS, secure forms, JavaScript, AJAX, JSON, cookies, and sessions; A Client-Side Framework such as jquery or Angular; Node.JS; A non-structured database such as MongoDB or NoSQL; PHP and MySQL; A Web Service - use an external web service, mashed up with your own application to create something even better. Your project should document the use of these technologies!

Programming Project 23 Design & Evaluate - think carefully about how users will use your site, design a great interface, and evaluate it with real people. Go Mobile - create a version of your project designed to go mobile. Server-Side Processing - do processing on the server to prepare for user requests in advance. Policies 24 Cheating means submitting, without proper attribution, any computer code that is directly traceable to the computer code written by another person. Or even better: Any form of cheating, including concealed notes during exams, copying or allowing others to copy from an exam, preparing work for another person s submission, unauthorized collaboration on an assignment, submission of the same or substantially similar work for two courses without the permission of the professors. I give students a failing homework grade for any cheating. A second cheating attempt will be in an F in the course!

Policies 25 You may discuss homework problems with classmates, after you have made a serious effort in trying the homework on your own. You can use ideas from the literature (with proper citation). You can use anything from the textbooks/notes. The code you submit must be written completely by you. Policies 26 Late policy: 5% is reduced by every day the homework is late

Discussion Board (Piazza) 27 All course announcements will be sent through Piazza Do not send questions to my email address. I will ignore them! Send all your questions via piazza. Good way to get your questions answered, also benefits the whole class.