{"ModuleCode":"CP3101B","ModuleTitle":"Web Programming and Applications","Department":"Computer Science","ModuleDescription":"This module is offered as part of the CP3101 Topics in Computing series. It introduces software development on the web. Topics include networking, clients and servers, HTTP protocol and cookies, HTML5 forms, CSS, dynamically served pages using PHP, DOM, Object Oriented Javascript and Jquery, and combining Javascript and PHP to build an Ajax web application. We will also investigate the use of Javascript, HTML5 canvas, sensor API and mobile platform to build responsive mobile applications. Some advanced topics may be discussed such as web security and investigation of an MVC web framework such as Django or Codeigniter.","ModuleCredit":"4","Workload":"2-0-2-2-4","Prerequisite":"CS1020 or its equivalent","ExamOpenBook":true,"ExamDuration":"P2H","ExamVenue":"SOC SR3","Types":["Module"],"CorsBiddingStats":[{"AcadYear":"2014/2015","Semester":"2","Round":"1A","Group":"Lecture 1","Quota":"8","Bidders":"15","LowestBid":"1000","LowestSuccessfulBid":"2000","HighestBid":"4642","Faculty":"School Of Computing","StudentAcctType":"Returning Students [P]"},{"AcadYear":"2014/2015","Semester":"2","Round":"1A","Group":"Lecture 1","Quota":"5","Bidders":"9","LowestBid":"1001","LowestSuccessfulBid":"3500","HighestBid":"5587","Faculty":"Joint Multi-Disciplinary Programmes","StudentAcctType":"Returning Students [P]"},{"AcadYear":"2014/2015","Semester":"2","Round":"1A","Group":"Lecture 1","Quota":"2","Bidders":"0","LowestBid":"0","LowestSuccessfulBid":"0","HighestBid":"0","Faculty":"School Of Computing","StudentAcctType":"New Students [P]"},{"AcadYear":"2014/2015","Semester":"2","Round":"1B","Group":"Lecture 1","Quota":"2","Bidders":"0","LowestBid":"0","LowestSuccessfulBid":"0","HighestBid":"0","Faculty":"School Of Computing","StudentAcctType":"New Students [P]"},{"AcadYear":"2014/2015","Semester":"2","Round":"2A","Group":"Lecture 1","Quota":"2","Bidders":"4","LowestBid":"1943","LowestSuccessfulBid":"2531","HighestBid":"4090","Faculty":"School Of Computing","StudentAcctType":"Returning Students and New Students [P]"},{"AcadYear":"2014/2015","Semester":"2","Round":"2B","Group":"Lecture 1","Quota":"1","Bidders":"2","LowestBid":"93","LowestSuccessfulBid":"2910","HighestBid":"2910","Faculty":"School Of Computing","StudentAcctType":"Returning Students and New Students [P]"},{"AcadYear":"2013/2014","Semester":"2","Round":"1A","Group":"Lecture 1","Quota":"35","Bidders":"43","LowestBid":"1","LowestSuccessfulBid":"104","HighestBid":"3877","Faculty":"School Of Computing","StudentAcctType":"Returning Students [P]"},{"AcadYear":"2013/2014","Semester":"2","Round":"1A","Group":"Lecture 1","Quota":"20","Bidders":"0","LowestBid":"0","LowestSuccessfulBid":"0","HighestBid":"0","Faculty":"Joint Multi-Disciplinary Programmes","StudentAcctType":"Returning Students [P]"},{"AcadYear":"2013/2014","Semester":"2","Round":"1A","Group":"Lecture 1","Quota":"20","Bidders":"1","LowestBid":"200","LowestSuccessfulBid":"1","HighestBid":"200","Faculty":"School Of Computing","StudentAcctType":"New Students [P]"},{"AcadYear":"2013/2014","Semester":"2","Round":"1B","Group":"Lecture 1","Quota":"20","Bidders":"34","LowestBid":"300","LowestSuccessfulBid":"2320","HighestBid":"6277","Faculty":"Joint Multi-Disciplinary Programmes","StudentAcctType":"Returning Students [P]"},{"AcadYear":"2013/2014","Semester":"2","Round":"1B","Group":"Lecture 1","Quota":"19","Bidders":"3","LowestBid":"1","LowestSuccessfulBid":"1","HighestBid":"888","Faculty":"School Of Computing","StudentAcctType":"New Students [P]"},{"AcadYear":"2013/2014","Semester":"2","Round":"2A","Group":"Lecture 1","Quota":"16","Bidders":"14","LowestBid":"1","LowestSuccessfulBid":"1","HighestBid":"4797","Faculty":"School Of Computing","StudentAcctType":"Returning Students and New Students [P]"},{"AcadYear":"2013/2014","Semester":"2","Round":"2B","Group":"Lecture 1","Quota":"2","Bidders":"7","LowestBid":"1","LowestSuccessfulBid":"3506","HighestBid":"4756","Faculty":"School Of Computing","StudentAcctType":"Returning Students and New Students [P]"},{"AcadYear":"2013/2014","Semester":"2","Round":"3A","Group":"Lecture 1","Quota":"3","Bidders":"12","LowestBid":"100","LowestSuccessfulBid":"4051","HighestBid":"6350","Faculty":"School Of Computing","StudentAcctType":"NUS Students [P]"}],"AcadYear":"2014/2015","History":[{"Semester":1},{"Semester":2,"ExamDate":"2015-04-29T09:00+0800","Timetable":[{"ClassNo":"1","LessonType":"Laboratory","WeekText":"Every Week","DayText":"Monday","StartTime":"1000","EndTime":"1200","Venue":"COM1-B111"},{"ClassNo":"2","LessonType":"Laboratory","WeekText":"Every Week","DayText":"Monday","StartTime":"1200","EndTime":"1400","Venue":"COM1-B111"},{"ClassNo":"3","LessonType":"Laboratory","WeekText":"Every Week","DayText":"Monday","StartTime":"1400","EndTime":"1600","Venue":"COM1-B111"},{"ClassNo":"1","LessonType":"Lecture","WeekText":"Every Week","DayText":"Tuesday","StartTime":"1000","EndTime":"1200","Venue":"LT19"}],"IVLE":[{"Announcements":null,"Forums":[],"Workbins":[],"Webcasts":[],"Gradebooks":[],"Polls":[],"Multimedia":[],"LessonPlan":[],"ID":"16ceadcc-55ce-431c-be2e-fdb47db11a7c","CourseLevel":"1","CourseCode":"CP3101B","CourseName":"WEB PROGRAMMING AND APPLICATIONS","CourseDepartment":"","CourseSemester":"Semester 2","CourseAcadYear":"2014/2015","CourseOpenDate":"/Date(1411747200000+0800)/","CourseOpenDate_js":"2014-09-27T00:00:00","CourseCloseDate":"/Date(1431187140000+0800)/","CourseCloseDate_js":"2015-05-09T23:59:00","CourseMC":"0","isActive":"N","Permission":"S","Creator":{"UserID":null,"Name":"Steven Halim","Email":null,"Title":null,"UserGuid":"18a81690-4c97-4248-adc4-99b5278fa616","AccountType":null},"hasGradebookItems":false,"hasTimetableItems":true,"hasGroupsItems":false,"hasClassGroupsForSignUp":false,"hasGuestRosterItems":false,"hasClassRosterItems":true,"hasWeblinkItems":true,"hasLecturerItems":true,"hasDescriptionItems":true,"hasReadingItems":true,"hasAnnouncementItems":false,"hasProjectGroupItems":false,"hasProjectGroupsForSignUp":false,"hasConsultationItems":false,"hasConsultationSlotsForSignUp":false,"hasLessonPlanItems":true,"Badge":0,"BadgeAnnouncement":0,"WebLinks":[{"ID":"2be829e7-8700-462d-97e5-fe1dcd1a2abb","URL":"http://www.comp.nus.edu.sg/~stevenha/cp3101b.html","Description":"I have abandoned IVLE in favor of my own dynamic \"IVLE\" webpage.\nI will demonstrate many web programming techniques on my own webpage that I canNOT do with IVLE :(.","Order":1,"Rating":4,"SiteType":""}],"Lecturers":[{"ID":"2ad8c4a0-aceb-4b4a-9586-cc603cfa7af2","User":{"UserID":null,"Name":"Steven Halim","Email":null,"Title":null,"UserGuid":"18a81690-4c97-4248-adc4-99b5278fa616","AccountType":null},"Role":"Lecturer ","Order":1,"ConsultHrs":null},{"ID":"48547de5-0862-4666-a2ea-6f1e5676da72","User":{"UserID":null,"Name":"PETER PHANDI","Email":null,"Title":null,"UserGuid":"ae43e20e-f7fe-434b-84f5-c29a9d8f94f3","AccountType":null},"Role":"Teaching Assistant ","Order":2,"ConsultHrs":null},{"ID":"e0d5c465-e1ea-417e-a220-5b3f201eb4d1","User":{"UserID":null,"Name":"TAY YANG SHUN","Email":null,"Title":null,"UserGuid":"32fe197a-9e30-4df7-95f4-8053b95099ee","AccountType":null},"Role":"Teaching Assistant ","Order":3,"ConsultHrs":null}],"Descriptions":[{"ID":"1e5f053b-8835-4692-be49-41f07234cfff","Title":"Learning Outcomes","Description":"This module is offered as part of the CP3101 Topics in Computing series. It introduces software development on the web. Topics include networking, clients and servers, HTTP protocol and cookies, HTML5 forms, CSS, dynamically served pages using PHP, DOM, Object Oriented Javascript and Jquery, and combining Javascript and PHP to build an Ajax web application. We will also investigate the use of Javascript, HTML5 canvas, sensor API and mobile platform to build responsive mobile applications. Some advanced topics may be discussed such as web security and investigation of an MVC web framework such as Django or Codeigniter.
\n
\nNOTE: This IVLE page is very restrictive for the purpose of demonstrating the capabilities of web programming.
\nPlease visit and bookmark: http://www.comp.nus.edu.sg/~stevenha/cp3101b.html instead.","Order":1},{"ID":"2e5f053b-8835-4692-be49-41f07234cfff","Title":"Prerequisites","Description":"Official:
\nCS1020 or its equivalent
\n
\nNon-official list of other modules that have (some 'minimal') intersection of content with CP3101B:
\nCS1101S (we will also learn JavaScript)
\nCS2102 or other database modules (we will also learn relational database/MySQL)
\nCS2105 or other networkingmodules (we will also learn network stuffs like TCP/IP/HTTP before)
\nCS3216 or equivalent software engineering module (parts of the module involving web programming may overlap)
\nCS3235 (web applications need to be secured)
\nCS3240 (web applications need to be designed for user)
\nCS3241 (we will also learn HTML5 Canvas that somewhat similar to OpenGL)","Order":2},{"ID":"98f78bb9-5fee-4d56-93cc-41e7558445fe","Title":"Workload","Description":"2-0-2-2-4
Workload Components : A-B-C-D-E \r\n
A: no. of lecture hours per week \r\n
B: no. of tutorial hours per week \r\n
C: no. of lab hours per week \r\n
D: no. of hours for projects, assignments, fieldwork etc per week \r\n
E: no. of hours for preparatory work by a student per week","Order":9}],"ReadingFormatted":[{"ID":"b6864dd6-db07-42ff-b0b0-723afd81ab5b","Title":"Dynamic Web Programming and HTML5","Author":"Paul S. Wang","Edition":"1e","PubYear":"2013","ISBN":"9781439871829","Publisher":"CRC Press","BookType":"References","AdditionalInfo":"","CompWebsite":"","Order":1},{"ID":"79fabeb6-e44f-4aa5-a650-26321b08799d","Title":"Internet and World Wide Web: How To Program","Author":"Paul Deitel, Harvey Deitel, Abbey Deitel","Edition":"5e","PubYear":"2012","ISBN":"9780132151009","Publisher":"Pearson","BookType":"References","AdditionalInfo":"","CompWebsite":"","Order":2},{"ID":"3aa81795-cb74-4da7-83e0-fc4523a6079d","Title":"Programming the World Wide Web","Author":"Robert W. Sebesta","Edition":"6e","PubYear":"2011","ISBN":"9780137053834","Publisher":"Pearson","BookType":"References","AdditionalInfo":"","CompWebsite":"","Order":3}],"ReadingUnformatted":[]}],"Lecturers":["Steven Halim"],"LecturePeriods":["Tuesday Morning"],"TutorialPeriods":["Monday Morning","Monday Afternoon"]}]}