INFSCI 1017 Implementation of Information Systems Spring 2017

Similar documents
CSC 443: Web Programming

CS 3270 Mobile Development for Android Syllabus

CIS 408 Internet Computing (3-0-3)

Computer Science Department

CIS 3308 Web Application Programming Syllabus

CSCI 201L Syllabus Principles of Software Development Spring 2018

CSCI 6312 Advanced Internet Programming

CS 241 Data Organization using C

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

CMPE 280 Web UI Design and Development

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

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

Grading Rubric Homework 1

CS503 Advanced Programming I CS305 Computer Algorithms I

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

COSC 115A: Introduction to Web Authoring Fall 2014

CMPE 280 Web UI Design and Development

Course and Contact Information. Course Description. Course Objectives

Web Client Side Programming

COSC 115: Introduction to Web Authoring Fall 2013

EECE.2160: ECE Application Programming Spring 2017

Course and Contact Information. Course Description. Course Objectives

CS2013 Course Syllabus Spring 2017 Lecture: Friday 8:00 A.M. 9:40 A.M. Lab: Friday 9:40 A.M. 12:00 Noon

CS 3030 Scripting Languages Syllabus

Compilers. Computer Science 431

INFS 2150 (Section A) Fall 2018

ITSC 1319 INTERNET/WEB PAGE DEVELOPMENT SYLLABUS

INST Database Design and Modeling - Section 0101 Spring Tentative Syllabus

EECE.2160: ECE Application Programming Spring 2019

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

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

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

COSE212: Programming Languages. Lecture 0 Course Overview

Data Structures and Algorithms

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

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

Syllabus COSC-051-x - Computer Science I Fall Office Hours: Daily hours will be entered on Course calendar (or by appointment)

Introduction to Programming System Design CSCI 455x (4 Units)

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

Advanced Relational Database Management MISM Course S A3 Spring 2019 Carnegie Mellon University

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

Developing Web Applications and Services Course Syllabus Fall 2015

CMPE 152 Compiler Design

AE Computer Programming for Aerospace Engineers

CMPE 152 Compiler Design

CS 241 Data Organization. August 21, 2018

CS 3030 Scripting Languages Syllabus

Course and Contact Information. Catalog Description. Course Objectives

CS 0449 Intro to Systems Software Fall Term: 2181

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

CS/SE 153 Concepts of Compiler Design

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

CS 235AM, Mobile Application Development: Android Spring 2016

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

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

CS Final Exam Review Suggestions - Spring 2018

CSCE 206: Structured Programming in C

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

Object-Oriented Programming CSCI-UA

CS2013 Course Syllabus Spring 2018 Lecture: Mon/Wed 2:00 P.M. 2:50 P.M. SH C259 Lab: Mon/Wed 2:50 P.M. 4:00 P.M. SH C259

Object-Oriented Programming for Managers

MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M

INF 315E Introduction to Databases School of Information Fall 2015

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

Web Programming Spring 2010

CMPE 152 Compiler Design

CS 4317: Human-Computer Interaction

VE281 Data Structures and Algorithms. Introduction and Asymptotic Algorithm Analysis

Outline. Logistics. Logistics. Principles of Software (CSCI 2600) Spring Logistics csci2600/

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

CS 4230 Java Application Development Syllabus

Cleveland State University

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

Data Structures and OO Development II

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

CS 4230 Java Application Development Syllabus

32549/31242 Advanced Internet Programming

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

CENG 256 Internet Programming Draft

Internet Web Technologies ITP 104 (2 Units)

ESET 369 Embedded Systems Software, Spring 2018

CS/WEB 2350 Client Side Web Development

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS. INTRODUCTION TO INTERNET SOFTWARE DEVELOPMENT CSIT 2230 (formerly CSIT 2645)

ESET 349 Microcontroller Architecture, Fall 2018

Programming in HTML5 with JavaScript and CSS3

CPSC 2380 Data Structures and Algorithms

CSC 111 Introduction to Computer Science (Section C)

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

Course Syllabus. Course Information

Announcements. 1. Forms to return today after class:

Advanced Web 2. Course Information. Instructor Information. Course Objectives

Kingdom of Saudi Arabia Ministry of Higher Education College of Computer & Information Sciences Majmaah University. Course Profile

Syllabus. Ross H. Capaccio, Instructor Oakton Community College. Spring 2017

Web Design II. Location: Anderson Building (333 S. Broad St.) Rm 728 Dates: June 2 August 4 (Mondays, 6 9PM)

Web Design Capstone :: Syllabus

IML 300: Reading and Writing the Web

Full Stack Web Developer

Hackveda Appsec Labs Java Programming Course and Internship Program Description:

FULL STACK FLEX PROGRAM

Transcription:

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, 4-5PM By appointment Contact Information: anolte@pitt.edu Overview: This is a second JAVA programming course that develops professional software development skills. This is an active learning course where students complete a series of projects that will include a robust, three-layer desktop and web application (Model-View- Controller architecture). Key topics include GUI classes, event handling, exception handling, common algorithms, file I/O, JAVA database programming (JDBC), and web application development using HTML, CSS, Javascript and JavaEE. Prerequisite: C or better in INFSCI 0017 or CS 0401 or INFSCI 0015 (at Pitt Greensburg). Co-requisite: INFSCI 1022 Objectives: Upon successful completion of this course, the student will be able to: 1. Develop solid understanding of 3-layer (Model-View-Controller) software architecture 2. Design and implement database-driven desktop applications using Java 3. Design and implement web applications using HTML, CSS, Javascript and JavaEE

Course Schedule (tentative, subject to change): Week Date Topic(s) 1 1/5 Introduction Course overview Setting up Java, Eclipse and GIT Implementing your first Java example 2 1/12 Introduction MySQL Workbench overview Working with GIT OOP concepts review MVC (Model-View-Controller) architecture 3 1/19 Introduction to MySQL Entity relationships Introduction to JDBC Using Java to interact with MySQL 4 1/26 WindowBuilder overview GUI design for desktop applications Java Canvas Event handling in Java 5 2/2 Error handling in Java o Try/catch o Exceptions o Error handling o Error logging Debugging Interfaces Recursion 6 2/9 Data structures o Hashtable o Map interface o Vector o Stack 7 2/16 Data structures o Graphs o Trees 8 2/23 Common algorithms o Sorting Bubble sort Bucket sort Insertion sort Selection sort Merge sort

o Eight queens o Tower of Hanoi 9 3/2 Introduction to web application development with Java Configuring Eclipse for web development Java Server Pages vs. Java Servlets Request / response 10 3/9 Spring break 11 3/16 Introduction to HTML 5 Introduction to DOM JavaScript crash course Manipulating DOM elements Introduction to JSON 12 3/23 Introduction to web services RESTful web services Working with external data o XML o JSON o RSS feeds 13 3/30 Introduction to AJAX Introduction to jquery Consuming Restful Web Services o Using server-side JSON parsing Using jquery AJAX 14 4/6 Menus Action bars Navigation Multiple Screens 15 4/13 Data binding Working with raw JSON vs. using frameworks Introduction to Backbone.js or Angular.js 16 4/20 Final project due Final team presentation

Assignments: All assignments will be individual. However, you are allowed to collaborate with other students (see Collaboration vs. Cheating below). The final project will be done in a group of three. Grades are individual. All assignments must be submitted via CourseWeb. All projects must be submitted via GitHub (https://github.com/). You will have to create a GitHub account, create a Git repository and submit a link to your repository via CourseWeb. The due date for all assignments and projects is the end of the day (11:59pm) BEFORE the lecture. Late Submissions: Projects/assignments submitted after due date will be accepted, but your overall grade for that project/assignment will be reduced by 10% of the grade for every business day after the submission deadline. For example, if you will submit your work one week late, you will lose 50% of the grade. Collaboration vs. Cheating Collaboration on homework is permitted to an extent. Specifically, students are allowed to discuss the possible solutions to a problem and help each other with logic errors. However, handing your work to someone so that they may see a copy of your solution, or dictating code to a person on line-by-line basis is not within the spirit of the collaboration policy or the honor code of the university. Laptop Policy In order to succeed in this course, you must bring a laptop with you to every class. Most lectures will contain a lab component where you will have to complete (or at least begin) a programming assignment while in class. Furthermore, having a laptop will enable you to better follow code examples and assignments instructions. Grading Policy: Assignments (Mini-projects): 25% Projects: 45% Final project (including presentation): 30%

Project Grading: Your projects/assignments will be graded on the following criteria: 1. The project compiles and executes without errors 2. The project complies with provided requirements 3. The code follows provided coding standards, formatting, and naming conventions 4. The code is well-documented using JavaDoc-style comments 5. The program has proper error handling and error logging. If your submitted project does not compile and run, I will not grade it. You will have to fix all issues and resubmit your program. I will only check the latest version in GITHub. Grading Scale: 93 <= A < 100 90 <= A- < 93 88 <= B+ < 90 82 <= B < 88 80 <= B- < 82 78 <= C+ < 80 72 <= C < 78 70 <= C- < 72 60 <= D < 70 F < 60 Academic Integrity: Cheating/plagiarism will not be tolerated. All work must be your own, unless collaboration is specifically and explicitly permitted as in the course group project. Any unauthorized collaboration or copying will at minimum result in no credit for the affected assignment and may be subject to further action under the University Guidelines for Academic Integrity (http://www.provost.pitt.edu/info/ai1.html). You may incorporate excerpts from publications by other authors, but they must be clearly marked as quotations and properly attributed. You may discuss your ideas with others, but all substantive writing and ideas must be your own, or else be explicitly attributed to another, using a citation sufficiently detailed for someone else to easily locate your source. Disability: If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact the Instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890 / (412) 383-7355 (TTY), as early as possible in the term. Disability Resources and Services reviews documentation related to a student's disability, provides verification of the disability, and recommends reasonable accommodations for specific courses.