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

Size: px
Start display at page:

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

Transcription

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

2 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 2

3 Introductions Lead Instructor Bob Dondero Bob 3

4 Introductions Teaching Assistant Jerry Yu-Chieh Wei 4

5 Introductions Teaching Assistant Akash Kapoor 5

6 Introductions Students Please sign attendance sheet Please complete survey during class 6

7 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 7

8 Course Description Course Description Advanced Programming Techniques: The practice of programming. Emphasis is on the development of real programs, writing code but also assessing tradeoffs, choosing among design alternatives, debugging and testing, and improving performance. Issues include compatibility, robustness, and reliability, while meeting specifications. Students will have the opportunity to develop skills in these areas by working on their own code and in group projects. Two 90-minute lectures. 8

9 Course Goal 1 Course goal 1: Three-tier programming Help you to become a (better) three-tier programmer Help you learn how to (better) develop networked apps that consist of: (1) A data management tier (2) A presentation tier (3) Application processing tier 9

10 Course Goal 2 Course goal 2: Software engineering Help you to become a (better) software engineer Become (more) proficient at requirements analysis, design, programming, debugging, testing, evaluation, maintenance, methodologies 10

11 Course Benefits Course benefits Help you to bridge the gap between the academic world of programming and the real world of software engineering Help you to get a job! 11

12 Course Strategy How? Lectures Assignments 4 of them ~2 weeks per assignment Project All semester Inevitably, work will intensify near end of course 12

13 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 13

14 Course Website Course website Browse to Click on Academics Click on Course Schedule Click on COS333 General Information, Topics, Assignments, Project, Schedule, Policies pages 14

15 Lectures Lectures Slides & code available through Topics web page Suggestion: Bring hard copy of slides Hard copy of code will be distributed Lecture etiquette Please don t use electronic devices during lectures 15

16 Piazza Piazza Use for: Issues on assignments that are of general interest and that do not reveal your work Issues on your project that are of general interest 16

17 Piazza Piazza etiquette Study provided material before posting question Read all (recent) Piazza threads before posting question See course Policies page for details 17

18 to Received by all 3 instructors (only) Use for: Issues on assignments that are not of general interest Issues on assignments that involve revealing your work Issues on your project that are not of general interest 18

19 to an individual instructor See General Information web page for addresses Use for: Issues that are more personal in nature 19

20 Office Hours Instructor office hours See General Information web page for office hours and locations Lead instructor: office hours throughout entire semester TAs: office hours in first half, team meetings in second half 20

21 Books Required The Practice of Programming (Kernighan & Pike) In bookstore On reserve in Eng Library 21

22 Books Recommended Core Java Volumes I and II (10 th edition) (Horstmann) Available as e-books through Princeton library 22

23 Books Recommended Python in a Nutshell (3 rd Edition) (Martelli, Ravenscroft, and Holden) Available as e-book through Princeton library 23

24 Books Recommended Learning PHP, MySQL & JavaScript (4 th Edition) (Nixon) Available as e-book through Princeton library 24

25 Books Recommended Beginning Software Engineering (Stephens) Available as e-book through Princeton library 25

26 Other Resources See links on Topics web page StackOverflow website will be particularly helpful 26

27 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 27

28 Topics See Topics web page Subject to change... 28

29 Topics Pgmming languages A course on pgmming must cover pgmming languages! Java and Python And later PHP, JavaScript, and a little C and C++ Lectures will hit highlights, show examples, compare and contrast Most learning on your own [Take poll] 29

30 Topics Database programming Relational DBs and DBMSs Relational DB design The SQLite DBMS Database programming Impl 1: Java Impl 2: Python [Take poll] 30

31 Topics Version control systems [Take poll] 31

32 Topics Graphical user interface pgmming Components Layout managers Event handling Impl 1: Java Swing Impl 2: Python Tkinter [Take poll] 32

33 Topics Network programming Network fundamentals Network programming at the socket-level Object serialization Impl 1: Java Impl 2: Python [Take poll] 33

34 Topics Web programming HTML HTTP (Missing: CSS) Impl 1: Java Impl 2: Python 34

35 Topics Server-side web pgmming in Python Common Gateway Interface (CGI) programming Fast CGI programming WSGI programming The Bottle web app framework Impl: Python + Bottle [Take poll] 35

36 Topics Server-side web pgmming in Java The Spark web app framework The Apache Velocity template engine Impl: Java + Spark + Velocity [Take poll] 36

37 Topics Server-side web pgmming in PHP Impl: PHP [Take poll] 37

38 Topics Client-side web pgmming Client-side impl: JavaScript + AJAX Server-side impl 1: Python + Bottle Server-side impl 2: Java + Spark + Velocity Server-side impl 3: PHP [Take poll] 38

39 Topics Security issues in web pgmming Authentication Form-based, basic, CAS Secure storage of passwords Secure data transmission Impl 1: Python + Bottle Impl 2: Java + Spark + Velocity Impl 3: PHP 39

40 Topics Concurrent programming Concurrent processes Communication between processes Impl: C Concurrent threads Thread synchronization Communication between threads Impl 1: Java Impl 2: Python [Take poll] 40

41 Topics (If time) XML and JSON pgmming XML programming DOM programming SAX programming JSON programming Impl 1: Java Impl 2: Python [Take poll] 41

42 Topics (If time) Smartphone pgmming Client-side impl: Java + Android Server-side impl: Python + Bottle + Git + Heroku [Take poll] 42

43 Topics Programming paradigms Structured programming Object-based programming Programming with ADTs Object-oriented programming Functional programming Logic programming Impl: C++ 43

44 Topics Software engineering Requirements analysis Design (UML, design patterns) Programming Debugging Testing Evaluation Maintenance (refactoring) Methodologies 44

45 Topics Note: I am not an expert on all those topics! Nobody could be an expert on all those topics!!! Please feel free to contribute when you can 45

46 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 46

47 Assignments See Assignments web page Goal: Give you hands-on experience with baseline/ simple technologies Teams of two strongly preferred 47

48 Assignments Assignment 1 Registrar s office app (database version) Database programming Modularity Option 1: Java Option 2: Python 48

49 Assignments Assignment 2 Registrar s office app (GUI and networked version) Enhancement/redesign of previous Graphical user interface programming Multithreaded programming Network programming Option 1: Java + Swing Option 2: Python + Tkinter 49

50 Assignments Assignment 3 Registrar s office app (web version) Enhancement/redesign of previous Server-side web programming Option 1: Python + Bottle Option 2: Java + Spark + Velocity Option 3: PHP 50

51 Assignments Assignment 4 Registrar s office app (AJAX version) Enhancement/redesign of previous Client-side web programming Option 1: JavaScript + AJAX + Python + Bottle Option 2: JavaScript + AJAX + Java + Spark + Velocity Option 3: JavaScript + AJAX + PHP 51

52 Assignment Suggestions Suggestion: Invest time in Assignment 1; make it modular Modularity => ease of enhancement Observation: Assignments get easier as work on project ramps up Iff you use proper modularity 52

53 Assignment Suggestions Suggestion: When deciding which langs to use, consider: Which better supports your project? Which might you use in the future? Which do you like? 53

54 Assignment Suggestions Suggestion: When deciding which langs to use, if your goal is to increase: Depth of knowledge, then maybe: Assignment 1, 2, 3, 4: Java Breadth of knowledge, then maybe: Assignment 1, 2: Python Assignment 3, 4: PHP 54

55 Assignment Suggestions Suggestion: Difficult to switch/merge/split partners between assignments So, choose your Assignment 1 partner wisely Assignment 1 is available now 55

56 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 56

57 Project See Project web page Teams of 3-5 Three-tier application Deliverables throughout the semester Start now More details in lecture soon 57

58 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 58

59 Schedule See Schedule web page; generally... First half: Assignments 1, 2, 3; related lectures Start project Second half: Assignment 4; related lectures Lectures on more unconstrained topics Finish project 59

60 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 60

61 Policies See Policies web page Lecture policies Project policies Assignment policies Grading: Assignments (40%) Project (50%) Class participation (10%) 61

62 Agenda Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 62

63 Computing Env: General Action: Subscribe to the cos333 Fall 2017 Piazza account Browse to this page: Follow the instructions to subscribe Please subscribe using your Princeton netid and your full first and last names 63

64 Computing Env: General Action: Create a GitHub account Browse to Follow the instructions to create an account If possible, choose your GitHub username to be the same as your Princeton netid Action: Send to rdondero@cs.princeton.edu to tell me your GitHub username 64

65 Computing Env: Project Action: Create a Google account Browse to Follow the instructions to create an account 65

66 Computing Env: Project For software development Use whatever computing env makes sense Subject to approval of your TA advisor Must provide a way for us to use your system 66

67 Computing Env: Assignments Option 1: Use CourseLab cluster courselab.cs.princeton.edu courselab01.cs.princeton.edu courselab02.cs.princeton.edu Option 2: Use your own computer Mac, MS Windows, or Linux But, eventually must port to CourseLab Run submit command Make sure your programs work for grader 67

68 Computing Env: Assignments Action: Perform the instructions on the A Computing Environment for COS 333 Assignments document 68

69 Summary Introductions Course Overview Resources Topics Assignments Project (briefly) Schedule (briefly) Policies (briefly) The Computing Environment 69

COS 333: Advanced Programming Techniques

COS 333: Advanced Programming Techniques COS 333: Advanced Programming Techniques Robert M. Dondero, Ph.D. Princeton University Please pick up handouts at the back of the room 1 COS 333: Course Overview Copyright 2018 by Robert M. Dondero, Ph.D.

More information

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

COS 333: Advanced Programming Techniques. Robert M. Dondero, Ph.D. Princeton University COS 333: Advanced Programming Techniques Robert M. Dondero, Ph.D. Princeton University 1 Agenda Introductions General Information Topics Assignments Project (briefly) Schedule Policies The Programming

More information

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

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups) Syllabus INFO-GB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Fall 2015 Stern School of Business Norman White, KMEC 8-88 Email: nwhite@stern.nyu.edu Phone: 212-998

More information

CSCI 201L Syllabus Principles of Software Development Spring 2018

CSCI 201L Syllabus Principles of Software Development Spring 2018 L Syllabus Principles of Software Development Spring 2018 Instructor: Jeffrey Miller, Ph.D. Email: jeffrey.miller@usc.edu Web Page: http://www-scf.usc.edu/~csci201 Office: SAL 342 Phone: 213-740-7129 Lectures:

More information

ITM DEVELOPMENT (ITMD)

ITM DEVELOPMENT (ITMD) ITM Development (ITMD) 1 ITM DEVELOPMENT (ITMD) ITMD 361 Fundamentals of Web Development This course will cover the creation of Web pages and sites using HTML, CSS, Javascript, jquery, and graphical applications

More information

CSC 443: Web Programming

CSC 443: Web Programming 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

More information

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

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336 CSE 336 Introduction to Programming for Electronic Commerce Why You Need CSE336 Concepts like bits and bytes, domain names, ISPs, IPAs, RPCs, P2P protocols, infinite loops, and cloud computing are strictly

More information

Outline. Databases and DBMS s. Recent Database Applications. Earlier Database Applications. CMPSCI445: Information Systems.

Outline. Databases and DBMS s. Recent Database Applications. Earlier Database Applications. CMPSCI445: Information Systems. Outline CMPSCI445: Information Systems Overview of databases and DBMS s Course topics and requirements Yanlei Diao University of Massachusetts Amherst Databases and DBMS s Commercial DBMS s A database

More information

COS 333: Advanced Programming Techniques

COS 333: Advanced Programming Techniques COS 333: Advanced Programming Techniques how to find me bwk@cs.princeton.edu 311 Computer Science, 609-258-2089 TA's: Christopher Moretti (moretti), Taewook Oh (twoh), Xin Jin (xinjin), Raghav Sethi (raghavs),

More information

Web Programming Fall 2011

Web Programming Fall 2011 Web Programming Fall 2011 Course number: M&IS 24065 Section: 002 CRN: 23080 Location: BSA 110 Meeting Day: TR Meeting Time: 12:30-1:45 Instructor Information: Name: Professor Janet Formichelli, MS E-mail:

More information

CMPE 280 Web UI Design and Development

CMPE 280 Web UI Design and Development San José State University Department of Computer Engineering CMPE 280 Web UI Design and Development Section 2 Fall 2018 Course and Contact Information Instructor: Ron Mak Office Location: ENG 250 Email:

More information

CMPE 280 Web UI Design and Development

CMPE 280 Web UI Design and Development San José State University Department of Computer Engineering CMPE 280 Web UI Design and Development Section 2 Spring 2019 Course and Contact Information Instructor: Ron Mak Office Location: ENG 250 Email:

More information

Programming Microsoft Sql Server 2012 Developer Reference Paperback

Programming Microsoft Sql Server 2012 Developer Reference Paperback Programming Microsoft Sql Server 2012 Developer Reference Paperback PROGRAMMING MICROSOFT SQL SERVER 2012 DEVELOPER REFERENCE PAPERBACK PDF - Are you looking for programming microsoft sql server 2012 developer

More information

CS 3230 Object Oriented UI Development With Java Syllabus

CS 3230 Object Oriented UI Development With Java Syllabus General Information Semester: Summer 2016 Textbook: Core Java Volume I, 10th Edition, by Horstmann & Cornell, 2012, Prentice Hall, ISBN 978 0 1341 7730 4 Core Java Volume II, 9th Edition, by Horstmann

More information

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018 San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018 Course and Contact Information Instructor: Vidya Rangasayee Office Location: MH 213 Telephone:

More information

INFSCI 1017 Implementation of Information Systems Spring 2017

INFSCI 1017 Implementation of Information Systems Spring 2017 INFSCI 1017 Implementation of Information Systems Spring 2017 Time: Thursdays 6:00 8:30 Location: Information Science Building, Room 406 Instructor: Alexander Nolte Office Hours: Monday, 1-2PM Thursdays,

More information

ITT Technical Institute. SD3240T Creating Websites in the LAMP Environment Onsite and Online Course SYLLABUS

ITT Technical Institute. SD3240T Creating Websites in the LAMP Environment Onsite and Online Course SYLLABUS ITT Technical Institute SD3240T Creating Websites in the LAMP Environment Onsite and Online Course SYLLABUS Credit hours: 4.5 Contact/Instructional hours: 67 (41 Theory Hours, 26 Lab Hours) Prerequisite(s)

More information

CIS 3308 Web Application Programming Syllabus

CIS 3308 Web Application Programming Syllabus CIS 3308 Web Application Programming Syllabus (Upper Level CS Elective) Course Description This course explores techniques that are used to design and implement web applications both server side and client

More information

CIS 408 Internet Computing (3-0-3)

CIS 408 Internet Computing (3-0-3) Cleveland State University Department of Electrical Engineering and Computer Science CIS 408 Internet Computing (3-0-3) Prerequisites: CIS 430 Preferred Instructor: Dr. Sunnie (Sun) Chung Office Location:

More information

Alkan University College Student Information Management System

Alkan University College Student Information Management System American Journal of Operations Management and Information Systems 2016; 1(1): 1-6 http://www.sciencepublishinggroup.com/j/ajomis doi: 10.11648/j.ajomis.20160101.11 Alkan University College Student Information

More information

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

CIS 086 : Week 1. Web Development with PHP and MySQL + CIS 086 : Week 1 Web Development with PHP and MySQL + Introduction n Instructor: Mark Brautigam n You: Skills and Technology Survey n You: Expectations of this class n You: Introduce yourself on the

More information

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

CSC 261/461 Database Systems. Fall 2017 MW 12:30 pm 1:45 pm CSB 601 CSC 261/461 Database Systems Fall 2017 MW 12:30 pm 1:45 pm CSB 601 Agenda Administrative aspects Brief overview of the course Introduction to databases and SQL ADMINISTRATIVE ASPECTS Teaching Staff Instructor:

More information

i>clicker GO Student Manual

i>clicker GO Student Manual i>clicker GO Student Manual Contents Purchasing & First Login... 1 Creating a New Account... 2 Initial Setup... 2 First Login... 3 Subscriptions... 3 Entering a Code... 4 Purchasing Online... 4 Installation

More information

Course Web Site. 445 Staff and Mailing Lists. Textbook. Databases and DBMS s. Outline. CMPSCI445: Information Systems. Yanlei Diao and Haopeng Zhang

Course Web Site. 445 Staff and Mailing Lists. Textbook. Databases and DBMS s. Outline. CMPSCI445: Information Systems. Yanlei Diao and Haopeng Zhang Course Web Site CMPSCI445: Information Systems Yanlei Diao and Haopeng Zhang University of Massachusetts Amherst http://avid.cs.umass.edu/courses/445/s2015/ or http://www.cs.umass.edu/~yanlei à Teaching

More information

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018 San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018 Course and Contact Information Instructor: Suneuy Kim Office

More information

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments. Web Development WEB101: Web Development Fundamentals using HTML, CSS and JavaScript $2,495.00 5 Days Replay Class Recordings included with this course Upcoming Dates Course Description This 5-day instructor-led

More information

Descriptions for CIS Classes (Fall 2017)

Descriptions for CIS Classes (Fall 2017) Descriptions for CIS Classes (Fall 2017) Major Core Courses 1. CIS 1015. INTRODUCTION TO COMPUTER INFORMATION SYSTEMS. (3-3-0). This course provides students an introductory overview to basic computer

More information

Introduction To Programming With Java: A Problem Solving Approach Epub Gratuit

Introduction To Programming With Java: A Problem Solving Approach Epub Gratuit Introduction To Programming With Java: A Problem Solving Approach Epub Gratuit Introduction to Programming with Java: A Problem Solving Approach teaches the reader how to write programs using Java. It

More information

CMPSCI445: Information Systems

CMPSCI445: Information Systems CMPSCI445: Information Systems Yanlei Diao and Haopeng Zhang University of Massachusetts Amherst Course Web Site http://avid.cs.umass.edu/courses/445/s2015/ or http://www.cs.umass.edu/~yanlei à Teaching

More information

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968) San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968) Course and Contact Information Instructor: Office Location: Vidya Rangasayee MH229

More information

Read & Download (PDF Kindle) Java Illuminated: An Active Learning Approach

Read & Download (PDF Kindle) Java Illuminated: An Active Learning Approach Read & Download (PDF Kindle) Java Illuminated: An Active Learning Approach Each new print copy includes Navigate 2 Advantage Access that unlocks a comprehensive and interactive ebook, student practice

More information

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization. August 21, 2018 CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/

More information

CSCI 6312 Advanced Internet Programming

CSCI 6312 Advanced Internet Programming CSCI 6312 Advanced Internet Programming Section 01, Spring 2018, W, 5:55pm - 8:25pm Instructor: Emmett Tomai Office: ENGR 3.2100 Phone: 665-7229 Email: emmett.tomai@utrgv.edu Office hours: W 1 3pm, TR

More information

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN SUBJECT: IT 3.1.3 WEB TECHNOLOGY CLASS: III/IVB.Tech., I st SEMESTER, A.Y.2017-18 INSTRUCTOR: SATYANARAYANA

More information

Grading: Test 1 25% ---- Test 2 25% ---- Best 2 Final Exam 25% ---- Project 25% Assignments/labs 25%

Grading: Test 1 25% ---- Test 2 25% ---- Best 2 Final Exam 25% ---- Project 25% Assignments/labs 25% 1 MIS 139: E-Business Project Fall 2014 Phone: 946-2627 Office Hours: MWF 11-1, Th 9-10 Jerry Post E-mail: Jerry@JerryPost.com 204B Weber Web: http://jerrypost.com class: MWF 2:00-3:15 Textbook: Web readings

More information

S.No Description 1 Allocation of subjects to the faculty based on their specialization by the HoD 2 Preparation of college Academic Calendar and

S.No Description 1 Allocation of subjects to the faculty based on their specialization by the HoD 2 Preparation of college Academic Calendar and S.No Description 1 Allocation of subjects to the faculty based on their specialization by the HoD 2 Preparation of college Academic Calendar and co-curricular calendar 3 Preparation of time table 4 Appointment

More information

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

Standard 1 The student will author web pages using the HyperText Markup Language (HTML) I. Course Title Web Application Development II. Course Description Students develop software solutions by building web apps. Technologies may include a back-end SQL database, web programming in PHP and/or

More information

CS 4230 Java Application Development Syllabus

CS 4230 Java Application Development Syllabus General Information CS 4230 Java Application Development Semester: Fall 2016 Textbook: Core Java Volume II, 9th Edition, by Horstmann & Cornell, 2013, Prentice Hall, ISBN 978 0 1370 8160 8 Location: SLCC

More information

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development Instructor: Dr. Ruibo Han Office: LeFrak Hall (LEF) 1111B Email: ruibo@umd.edu (preferred)

More information

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 Course and Contact Information Instructor: Dr. Kim Office Location:

More information

Programming the World Wide Web by Robert W. Sebesta

Programming the World Wide Web by Robert W. Sebesta Programming the World Wide Web by Robert W. Sebesta Tired Of Rpg/400, Jcl And The Like? Heres A Ticket Out Programming the World Wide Web by Robert Sebesta provides students with a comprehensive introduction

More information

Computer Science. Computer Science 211. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

Computer Science. Computer Science 211. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes Computer Science 211 Computer Science (See Computer Information Systems section for additional computer courses.) We are in the Computer Age. Virtually every occupation in the world today has an interface

More information

CS 4230 Java Application Development Syllabus

CS 4230 Java Application Development Syllabus General Information Semester: Fall 2018 Textbook: Core Java Volume II, 9th Edition, by Horstmann & Cornell, 2013, Prentice Hall, ISBN 978-0-1370-8160-8 Location: SLCC BB 330 Instructor Info: Website: Trevor

More information

Computer Science Department

Computer Science Department California State University, Dominguez Hills Computer Science Department Syllabus CS255 Dynamic Web Programming Dr. Jason Isaac Halasa Office Hours: MW 12:45-2:30 and 3:45-5:30 and by Appointment Office

More information

CS Final Exam Review Suggestions - Spring 2018

CS Final Exam Review Suggestions - Spring 2018 CS 328 - Final Exam Review Suggestions p. 1 CS 328 - Final Exam Review Suggestions - Spring 2018 last modified: 2018-05-03 Based on suggestions from Prof. Deb Pires from UCLA: Because of the research-supported

More information

ITT Technical Institute. SD3120T Programming in Open Source with LAMP Onsite and Online Course SYLLABUS

ITT Technical Institute. SD3120T Programming in Open Source with LAMP Onsite and Online Course SYLLABUS ITT Technical Institute SD3120T Programming in Open Source with LAMP Onsite and Online Course SYLLABUS Credit hours: 4.5 Contact/Instructional hours: 67 (41 Theory Hours, 26 Lab Hours Prerequisite(s and/or

More information

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

Cleveland State University Department of Electrical and Computer Engineering. CIS 408: Internet Computing Cleveland State University Department of Electrical and Computer Engineering CIS 408: Internet Computing Catalog Description: CIS 408 Internet Computing (-0-) Pre-requisite: CIS 265 World-Wide Web is now

More information

COMPUTER INFORMATION SYSTEMS PROGRAMS

COMPUTER INFORMATION SYSTEMS PROGRAMS COMPUTER INFORMATION SYSTEMS PROGRAMS The Computer Information Systems programs provide courses to improve students computer and software knowledge and skills. The CIS Associate in Science degrees enables

More information

Course and Contact Information. Course Description. Course Objectives

Course and Contact Information. Course Description. Course Objectives San Jose State University College of Science Department of Computer Science CS157A, Introduction to Database Management Systems, Sections 1 and 2, Fall2016 Course and Contact Information Instructor: Dr.

More information

FULL STACK FLEX PROGRAM

FULL STACK FLEX PROGRAM UNIVERSITY OF RICHMOND CODING BOOT CAMP FULL STACK FLEX PROGRAM CURRICULUM OVERVIEW The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development

More information

While waiting for the lecture to begin, please complete. the initial course questionnaire.

While waiting for the lecture to begin, please complete. the initial course questionnaire. SENG 475 & ECE 569A: Advanced Programming Techniques for Robust Efficient Computing (With C++) Michael Adams Department of Electrical and Computer Engineering University of Victoria Victoria, BC, Canada

More information

INF 315E Introduction to Databases School of Information Fall 2015

INF 315E Introduction to Databases School of Information Fall 2015 INF 315E Introduction to Databases School of Information Fall 2015 Class Hours: Tuesday & Thursday10:30 am-12:00 pm Instructor: Eunyoung Moon Email: eymoon@utexas.edu Course Description Almost every website

More information

Server-Side Web Programming: Java. Copyright 2017 by Robert M. Dondero, Ph.D Princeton University

Server-Side Web Programming: Java. Copyright 2017 by Robert M. Dondero, Ph.D Princeton University Server-Side Web Programming: Java Copyright 2017 by Robert M. Dondero, Ph.D Princeton University 1 Objectives You will learn about: Server-side web programming in Java, via Servlets The Spark web app framework

More information

Computer Science. Computer Science 213. Faculty and Offices. Degrees, Certificates and Awards. AS Computer Science Degree Requirements

Computer Science. Computer Science 213. Faculty and Offices. Degrees, Certificates and Awards. AS Computer Science Degree Requirements Computer Science 213 Computer Science (See Computer Information Systems section for additional computer courses.) Degrees, Certificates and Awards Associate in Science Degree: Computer Science Certificate

More information

Content Management Systems. Week 14 LBSC 671 Creating Information Infrastructures

Content Management Systems. Week 14 LBSC 671 Creating Information Infrastructures Content Management Systems Week 14 LBSC 671 Creating Information Infrastructures Putting the Pieces Together Browser HTML CGI Web Server SQL Query Database HTML Results Why Database-Generated Pages? Remote

More information

CSE 498 CSE Courses and Skills Inventory Fall Name:

CSE 498 CSE Courses and Skills Inventory Fall Name: Name: CSE Courses Inventory For each course, check whether you have completed the course or you are currently enrolled in it. Course Completed Enrolled CSE 335 Software Design CSE 410 Operating Systems

More information

CSE 344 JANUARY 3 RD - INTRODUCTION

CSE 344 JANUARY 3 RD - INTRODUCTION CSE 344 JANUARY 3 RD - INTRODUCTION COURSE FORMAT Lectures Location: SIG 134 Please attend Sections: Content: exercises, tutorials, questions, new materials (occasionally) Locations: see web Please attend

More information

Course and Contact Information. Course Description. Course Objectives

Course and Contact Information. Course Description. Course Objectives San Jose State University College of Science Department of Computer Science CS157A, Introduction to Database Management Systems, Sections 1 and 2, Fall2017 Course and Contact Information Instructor: Dr.

More information

INFS 2150 (Section A) Fall 2018

INFS 2150 (Section A) Fall 2018 INFS 2150 (Section A) Fall 2018 Introduction to Web Development Class meets TUE & THU: 12:30am-1:45pm: in Wheatley 114 Instructor: Peter Y. Wu Office: Wheatley 309 Office Hours: Tuesday 9:00 am-12:00 noon;

More information

CS 3270 Mobile Development for Android Syllabus

CS 3270 Mobile Development for Android Syllabus General Information Semester: Fall 2016 Textbook: Required: Android 6 for Programmers An App-Driven Approach, 3e, Deitel, Deitel and Wald, Prentice Hall, 978-0-13-428936-6. This book is also available

More information

Tecnológico de Monterrey Coding Boot Camp LIVE ONLINE PROGRAM

Tecnológico de Monterrey Coding Boot Camp LIVE ONLINE PROGRAM Tecnológico de Monterrey Coding Boot Camp LIVE ONLINE PROGRAM Curriculum Overview The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development

More information

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred Using Data Science to deliver Workforce & Labour Market Insights Gary Gan Co-Founder, JobKred Collection of Data Online Sources Skills, Education, Experience AI-powered Career Development Platform Cloud-based

More information

FULL STACK FLEX PROGRAM

FULL STACK FLEX PROGRAM UNIVERSITY OF WASHINGTON CODING BOOT CAMP FULL STACK FLEX PROGRAM CURRICULUM OVERVIEW The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development

More information

Software. Full Stack Web Development Intensive, Fall Lecture Topics. Class Sessions. Grading

Software. Full Stack Web Development Intensive, Fall Lecture Topics. Class Sessions. Grading Full Stack Web Development Intensive, Fall 2017 There are two main objectives to this course. The first is learning how to build websites / web applications and the assets that compose them. The second

More information

JavaScript and MVC Frameworks FRONT-END ENGINEERING

JavaScript and MVC Frameworks FRONT-END ENGINEERING FRONT-END ENGINEERING Introduction & History Introduction JavaScript is an incredible language to learn for anyone interested in getting into programming. It is the only programing language that can run

More information

WELCOME TO CS 16! Enrollment status: 117/ Problem Solving with Computers-I

WELCOME TO CS 16! Enrollment status: 117/ Problem Solving with Computers-I WELCOME TO CS 16! Problem Solving with Computers-I https://ucsb-cs16-s18-mirza.github.io/ Enrollment status: 117/105 2 About me Diba Mirza (diba@ucsb.edu) PhD (Computer Engineering, UCSD) First year as

More information

ECE 3574: Applied Software Design

ECE 3574: Applied Software Design ECE 3574: Applied Software Design Chris Wyatt Spring 2018 Welcome to ECE 3574: Applied Software Design CRN 19016 Website: https://filebox.ece.vt.edu/~ece3574 Instructor: Chris Wyatt, clwyatt@vt.edu Today

More information

15-411/ Compiler Design

15-411/ Compiler Design 15-411/15-611 Compiler Design Jan Hoffmann Fall 2016 http://www.cs.cmu.edu/~janh/courses/411/16 Teaching Staff Instructor: Jan Hoffmann Office hours: Tue 10:30am-noon Thu 1:00pm-2:30pm at GHC 9105 Teaching

More information

San Jose State University - Department of Computer Science

San Jose State University - Department of Computer Science San Jose State University - Department of Computer Science CS 151, Section 4 - Object-Oriented Design Instructor:Cay S. Horstmann Email: cay.horstmann@sjsu.edu Telephone: +1-408-924-5060 Office Hours:

More information

Object-Oriented Data Structures Using Java Ebooks Free

Object-Oriented Data Structures Using Java Ebooks Free Object-Oriented Data Structures Using Java Ebooks Free Continuing the success of the popular second edition, the updated and revised Object-Oriented Data Structures Using Java, Third Edition is sure to

More information

Byte Academy. Python Fullstack

Byte Academy. Python Fullstack Byte Academy Python Fullstack 06/30/2017 Introduction Byte Academy pioneered industry-focused programs beginning with the launch of our FinTech course, the first of its type. Our educational programs bridge

More information

Acceptance Test. Smart Scheduling. Empire Unlimited. Requested by:

Acceptance Test. Smart Scheduling. Empire Unlimited. Requested by: Smart Scheduling Requested by: Dr. Robert Yoder Computer Science Department Head Siena College Department of Computer Science Prepared by: Meghan Servello Thomas Mottola Jonathan Smith Jason Czajkowski

More information

The COS 333 Project. Robert M. Dondero, Ph.D. Princeton University

The COS 333 Project. Robert M. Dondero, Ph.D. Princeton University The COS 333 Project Robert M. Dondero, Ph.D. Princeton University 1 Overview A simulation of reality In groups of 3-5 people... Build a substantial three tier software system 2 Three-Tier Systems "Three

More information

Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University Server-Side Web Programming: Python (Part 1) Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn about Server-side web programming in Python Common Gateway Interface

More information

Syllabus of ENPM 691: Secure Programming in C

Syllabus of ENPM 691: Secure Programming in C Syllabus of ENPM 691: Secure Programming in C Spring Semester 2018 Instructor: Dharmalingam Ganesan, PhD Contact: dganesan@umd.edu Class hours: Thursday 7:00 PM to 9:40 PM Class location: TBA Course Description:

More information

CSE 5236 Project Description

CSE 5236 Project Description Instructor: Adam C. Champion, Ph.D. Spring 2018 Semester Total: 60 points The team project (2 3 students per team) for this class involves conceptualizing, designing, and developing a mobile application

More information

Smartphone Programming. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University

Smartphone Programming. Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University Smartphone Programming Copyright 2017 by Robert M. Dondero, Ph.D. Princeton University 1 Objectives We will cover: Smartphone programming Android smartphone programming Resources Synchronous server interaction

More information

SUBJECT OUTLINE DETAILS

SUBJECT OUTLINE DETAILS MINISTRY OF EDUCATION AND TRAINING CAN THO UNIVERSITY SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom - Happiness SUBJECT OUTLINE DETAILS 1. Subject: Web Technologies and Services (Công nghệ và dịch

More information

Computer Science. Computer Science 207. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements

Computer Science. Computer Science 207. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements Computer Science 207 Computer Science (See Computer Information Systems section for additional computer courses.) Degrees and Certificates Awarded Associate in Science Degree, Computer Science Certificate

More information

(p t y) lt d. 1995/04149/07. Course List 2018

(p t y) lt d. 1995/04149/07. Course List 2018 JAVA Java Programming Java is one of the most popular programming languages in the world, and is used by thousands of companies. This course will teach you the fundamentals of the Java language, so that

More information

Read & Download (PDF Kindle) Modern Multithreading: Implementing, Testing, And Debugging Multithreaded Java And C++/Pthreads/Win32 Programs

Read & Download (PDF Kindle) Modern Multithreading: Implementing, Testing, And Debugging Multithreaded Java And C++/Pthreads/Win32 Programs Read & Download (PDF Kindle) Modern Multithreading: Implementing, Testing, And Debugging Multithreaded Java And C++/Pthreads/Win32 Programs Master the essentials of concurrent programming,including testing

More information

LIVE ONLINE PROGRAM UNIVERSITY OF ARIZONA CODING BOOT CAMP CURRICULUM OVERVIEW

LIVE ONLINE PROGRAM UNIVERSITY OF ARIZONA CODING BOOT CAMP CURRICULUM OVERVIEW UNIVERSITY OF ARIZONA CODING BOOT CAMP LIVE ONLINE PROGRAM CURRICULUM OVERVIEW The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development

More information

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

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018 San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018 Course and Contact Information Instructor: Office Location: Fabio Di Troia DH282 Telephone:

More information

Mobile Application Development by Lynn Rosier TEA 126.39 http://ritter.tea.state.tx.us/rules/tac/chapter126/ch126c.html#126.39 9-11:15 Mobile apps overview, software, possible projects, and an intro to

More information

Web Engineering. Introduction. Husni

Web Engineering. Introduction. Husni Web Engineering Introduction Husni Husni@trunojoyo.ac.id Outline What is Web Engineering? Evolution of the Web Challenges of Web Engineering In the early days of the Web, we built systems using informality,

More information

Faculty Guide to Blackboard

Faculty Guide to Blackboard Faculty Guide to Blackboard August 2012 1 Table of Contents Description of Blackboard... 3 Uses of Blackboard... 3 Hardware Configurations and Web Browsers... 3 Logging Into Blackboard... 3 Customizing

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special

More information

FULL STACK FLEX PROGRAM

FULL STACK FLEX PROGRAM UNIVERSITY OF WASHINGTON CODING BOOT CAMP FULL STACK FLEX PROGRAM CURRICULUM OVERVIEW The digital revolution has transformed virtually every area of human activity and you can be part of it as a web development

More information

224 Computer Science. A.S. Degree Requirements. Department Offices. Faculty and Offices. Emeritus Faculty. Degrees and Certificates Awarded

224 Computer Science. A.S. Degree Requirements. Department Offices. Faculty and Offices. Emeritus Faculty. Degrees and Certificates Awarded 224 Computer Science Computer Science (See Computer Information Systems section for additional computer courses.) We are in the Computer Age. Virtually every occupation in the world today has an interface

More information

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger

Operating Systems CMPSC 473. Introduction January 15, Lecture 1 Instructor: Trent Jaeger Operating Systems CMPSC 473 Introduction January 15, 2008 - Lecture 1 Instructor: Trent Jaeger About Me Trent Jaeger (PhD, University of Michigan) Associate Professor, CSE -- after 9 years at IBM Research

More information

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

Basic Web Application Development Spring credit hour Student Taught (Satisfactory/Unsatisfactory) Basic Web Application Development Spring 2014 1 credit hour Student Taught (Satisfactory/Unsatisfactory) Matthew Schurr mschurr@rice.edu (404) 395-0511 Instructor Matthew Schurr Duncan College Class of

More information

SYLLABUS. Departmental Syllabus. Departmental Syllabus. Departmental Syllabus. Departmental Syllabus. Departmental Syllabus

SYLLABUS. Departmental Syllabus. Departmental Syllabus. Departmental Syllabus. Departmental Syllabus. Departmental Syllabus SYLLABUS DATE OF LAST REVIEW: 11/6/2018 CIP CODE: 11.0801 SEMESTER: COURSE TITLE: COURSE NUMBER: JavaScript CIST0152 CREDIT HOURS: 3 INSTRUCTOR: OFFICE LOCATION: OFFICE HOURS: TELEPHONE: EMAIL: KCKCC issued

More information

When learning coding, be brave

When learning coding, be brave Who am I? Web Technology Overview with a focus on JavaScript-based technologies Lawrence Yao l.yao@unsw.edu.au Lawrence Yao UNSW casual staff Developer Analyst at YTML Consulting Email me if you need technical

More information

Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:

Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an  with the URL Grading: CS 183 4/6/2010 Build a simple HTML page, topic of your choice Will use this as a basis and gradually and add more features as the class progresses Need to be done with your favorite text editor, no visual

More information

CS 235AM, Mobile Application Development: Android Spring 2016

CS 235AM, Mobile Application Development: Android Spring 2016 CS 235AM, Mobile Application Development: Android Spring 2016 Sections CRN 44555 & 44036 Credits 4 Classroom 19/132 Day & Time M, W 8:00 9:50 Instructor Brian Bird Office Building 19, Room 152 Office Phone

More information

FULL STACK FLEX PROGRAM

FULL STACK FLEX PROGRAM THE CODING BOOT CAMP AT UNC CHARLOTTE OVERVIEW: FULL STACK FLEX PROGRAM Prepare for a career as an end-to-end web developer at The Coding Boot Camp at UNC Charlotte. Our Full Stack Flex course gives you

More information

MSc(IT) Program. MSc(IT) Program Educational Objectives (PEO):

MSc(IT) Program. MSc(IT) Program Educational Objectives (PEO): MSc(IT) Program Master of Science (Information Technology) is an intensive program designed for students who wish to pursue a professional career in Information Technology. The courses have been carefully

More information

CMPT 354: Database System I. Lecture 1. Course Introduction

CMPT 354: Database System I. Lecture 1. Course Introduction CMPT 354: Database System I Lecture 1. Course Introduction 1 Outline Motivation for studying this course Course admin and set up Overview of course topics 2 Trend 1: Data grows exponentially 1 ZB = 1,

More information

National College of Ireland BSc in Computing 2017/2018. Deividas Sevcenko X Multi-calendar.

National College of Ireland BSc in Computing 2017/2018. Deividas Sevcenko X Multi-calendar. National College of Ireland BSc in Computing 2017/2018 Deividas Sevcenko X13114654 X13114654@student.ncirl.ie Multi-calendar Technical Report Table of Contents Executive Summary...4 1 Introduction...5

More information

Server-Side Web Programming: Python (Part 2) Copyright 2017 by Robert M. Dondero, Ph.D Princeton University

Server-Side Web Programming: Python (Part 2) Copyright 2017 by Robert M. Dondero, Ph.D Princeton University Server-Side Web Programming: Python (Part 2) Copyright 2017 by Robert M. Dondero, Ph.D Princeton University 1 Objectives You will learn about: Python WSGI programming Web app frameworks in general (briefly)

More information