IT6203 IT Design Studio (fall 2018)

Dr. Svetlana Peltsverger

IT Department

Kennesaw State University

Contents

Catalog Description. 3

Course Outcomes. 3

Module 1 Innovations. 3

Introduction and Module Summary. 3

Objectives and Outcomes. 3

Required Materials. 4

Optional Materials. 4

Module 2 Rapid Application Development. 5

Introduction and Module Summary. 5

Objectives and Outcomes. 5

Required Materials. 5

Module 3 Team Dynamics. 5

Introduction and Module Summary. 5

Objectives and Outcomes. 6

Required Materials. 6

Optional Materials. 6

Module 4 MEAN Stack (MN). 7

Introduction and Module Summary. 7

Objectives and Outcomes. 7

Required Materials. 7

Optional Materials. 7

Module 5 MEAN Stack (EA). 8

Introduction and Module Summary. 8

Objectives and Outcomes. 8

Required Materials. 8

Optional Materials. 8

Module 6 Angular Forms. 9

Introduction and Module Summary. 9

Objectives and Outcomes. 9

Required Materials. 9

Optional Materials. 9

Module 7 TypeScript and JSON.. 10

Introduction and Module Summary. 10

Objectives and Outcomes. 10

Required Materials. 10

Optional Materials. 10

Module 8 Angular Components. 11

Introduction and Module Summary. 11

Objectives and Outcomes. 11

Required Materials. 11

Optional Materials. 11

Module 9 Angular Directives. 11

Introduction and Module Summary. 11

Objectives and Outcomes. 11

Required Materials. 12

Optional Materials. 12

Module 10 NodeJS and ExpressJS. 12

Introduction and Module Summary. 12

Objectives and Outcomes. 12

Required Materials. 13

Optional Materials. 13

Module 11 MongoDB. 13

Introduction and Module Summary. 13

Objectives and Outcomes. 13

Required Materials. 14

Optional Materials. 14

Module 12 MongoDB (crUd). 14

Introduction and Module Summary. 14

Objectives and Outcomes. 14

Required Materials. 15

Optional Materials. 15

Module 13 Conclusion. 15

Introduction and Module Summary. 15

Objectives and Outcomes. 15

 

Catalog Description

Prerequisite: IT 5433 and IT 5443

This core course covers technologies and methods of designing and implementing an IT application built from multiple subsystems. Students will explore modern system architectures and integration techniques used in enterprise environment. Students will develop a complete IT application through a major project to demonstrate their proficiency in all major technical areas of IT. These may include data management, networking and communication, servers and platforms, application development, user interface, web interface or security.

Course Outcomes

Students who complete this course successfully will be able to

·         Plan, design, and develop as a team a complete IT application that consists of sub-system components.

·         Implement and test the IT application integration.

Module 1 Innovations

Introduction and Module Summary

In this module, you will learn how software changed almost every field and what new technology innovations will soon change our world. After researching how to generate the best ideas, you will decide on which idea you will work this semester.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Appreciate how computing contributes to solving tomorrow's complex problems

Identify a problem and plan a solution through the application of computing

Read assigned materials

introduce

introduced

Watch assigned videos

introduced

 

Complete Module  Lab

reinforced

reinforced

Required Materials

1.       Computing is Changing Everything https://www.youtube.com/watch?v=1x54GqfL3UY (video 5:39)

2.       How to Create The Next Million Dollar App: 14 Ideas + Framework https://www.appsterhq.com/blog/best-million-dollar-app-ideas/

3.       40 Best App Ideas For Startups https://www.valuecoders.com/blog/technology-and-apps/40-best-app-startup-ideas/

4.       How to Turn Your Idea Into a Product (and Launch It!) https://www.businessnewsdaily.com/8773-turn-your-idea-into-a-product.html

5.       Rietzschel, E. F., Nijstad, B. A., & Stroebe, W. (2014). Effects of problem scope and creativity instructions on idea generation and selection. Creativity Research Journal, 26(2), 185-191. https://www.tandfonline.com/doi/pdf/10.1080/10400419.2014.901084?needAccess=true (on-campus access) off-campus use http://library.kennesaw.edu/ to locate the article.

6.       5 Big Technology Innovations Of 2018: IBM Reveals Amazing Developments That Will Impact All Of Us https://www.forbes.com/sites/bernardmarr/2018/03/19/5-big-technology-innovations-of-2018-ibm-reveals-amazing-developments-that-will-impact-all-of-us

7.       10 Ways Your Phone Will Save Your Life https://www.youtube.com/watch?v=unsxUaOq8LA (video: 9:45)

8.       Patent Searching 101: A Patent Search Tutorial http://www.ipwatchdog.com/2015/07/11/patent-searching-101-a-patent-search-tutorial-2/id=59308/

Optional Materials

1.       21 Great Questions for Developing New Products https://www.skmurphy.com/blog/2007/12/05/21-great-questions-for-developing-new-products/

2.       Rietzschel, E. F., Nijstad, B. A., & Stroebe, W. (2010). The selection of creative ideas after individual idea generation: Choosing between creativity and impact. British journal of psychology101(1), 47-68. off-campus use http://library.kennesaw.edu/ to locate the article

Module 2 Rapid Application Development

Introduction and Module Summary

In this module, you will learn about Agile Software Development and advantages of Rapid Application Development (RAD). You will start prototype phase for your team project and find your customers.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Explain how Rapid Application Development works

Build group project prototype

Read assigned materials

introduced

introduced

Watch assigned videos

reinforced

reinforced

Complete Module  Lab

 

mastered

Required Materials

1.       What is Rapid Application Development and When Should You Use It? https://blog.capterra.com/what-is-rapid-application-development/ 

2.       Understanding Rapid Application Development Model https://theappsolutions.com/blog/development/rad-model/

3.       What is Rapid Application Development https://www.youtube.com/watch?v=JHcxbGwHtsY (video 27:24) slides https://www.slideshare.net/OutSystems/what-is-rapid-application-development

4.       IBM, remote-work pioneer, is calling thousands of employees back to the office https://qz.com/924167/ibm-remote-work-pioneer-is-calling-thousands-of-employees-back-to-the-office/

Module 3 Team Dynamics

Introduction and Module Summary

In this module, you will learn the differences between groups and teams. You will use 10 Team Dynamics of High-Performance Teams to evaluate and improve your own team during each of five stages of group development: Forming, Storming, Norming, Performing, and Adjourning. Then you will apply your knowledge to adopt a model that best fits your team dynamics.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Explain how team dynamics can influence project outcomes

Compare and contrast roles of product owner and team leader

Read assigned materials

introduced

introduced

Watch assigned videos

reinforced

Complete Module  Discussion

reinforced

mastered

Required Materials

1.       Group Dynamics http://open.lib.umn.edu/organizationalbehavior/chapter/9-2-group-dynamics/

2.       10 Team Dynamics that All Great Teams-Share https://mikecardus.com/10-team-dynamics-that-all-great-teams-share/ slides 1-15 or transcript on the page.

3.       Team Effectiveness http://libguides.gwumc.edu/c.php?g=365963&p=2473007   (all four pages)

4.       Feature and Component Teams https://www.scaledagileframework.com/features-and-components/

5.       Feature Teams https://less.works/less/structure/feature-teams.html

6.       The Role of the Agile Product Owner https://www.youtube.com/watch?v=-Tz_sMoVLbg (video 3 min) or A Product Owner in the team? What for? https://jp-lambert.me/a-product-owner-in-the-team-what-for-5f86607b04c1 

7.       https://www.mountaingoatsoftware.com/agile/user-stories

Optional Materials

1.       Group Dynamics and Behavior http://open.lib.umn.edu/sociology/chapter/6-2-group-dynamics-and-behavior/

2.       Breaking Down Software Development Roles http://zimmer.csufresno.edu/~sasanr/Teaching-Material/SAD/breaking%20down%20software%20development%20roles.pdf

3.       Team Dynamics: Problem-Solving and Decision Making http://libguides.gwumc.edu/c.php?g=389282&p=2641496

Module 4 MEAN Stack (MN)

Introduction and Module Summary

In this module, you will start installation and testing of the development environment for this course.  By the end of this module, you will have Node.js and MongoDB installed and configured.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Create development environment for individual and group projects

Test development environment for individual and group projects

Read assigned materials

introduced

introduced

Watch assigned videos

reinforced

reinforced

Complete Module  Lab

reinforced

reinforced

Required Materials

1.       MongoDB Installation https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/

2.       MongoDB  Tutorial https://www.youtube.com/watch?v=pWbMrx5rVBE  (video 32 min) and https://docs.mongodb.com/manual/tutorial/getting-started/

Optional Materials

4.       HTTP request Methods https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods

5.       HTTP response Status Codes https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

6.       SQL to MongoDB Mapping Chart https://docs.mongodb.com/manual/reference/sql-comparison/

Module 5 MEAN Stack (EA)

Introduction and Module Summary

In this module, you will complete installation and testing of the development environment for this course.  By the end of this module, you will have Express and Angular installed and configured.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Create development environment for individual and group projects

Test development environment for individual and group projects

Read assigned materials

reinforced

reinforced

Watch assigned videos

reinforced

reinforced

Complete Module  Lab

mastered

mastered

Required Materials

1.       Made with Angular https://www.madewithangular.com/categories/angular 

2.       Angular Single Page Applications (SPA): What are the Benefits? https://blog.angular-university.io/why-a-single-page-application-what-are-the-benefits-what-is-a-spa/

3.       The disadvantages of single page applications https://adamsilver.io/articles/the-disadvantages-of-single-page-applications/  

4.       Express/Node introduction https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/Introduction

5.       AngularJS vs Angular 2 vs Angular 4 https://www.youtube.com/watch?v=9AaRJ8COXdM (video 4 min)

Optional Materials

1.        Popular Frameworks http://hotframeworks.com/

2.       Express application generator https://expressjs.com/en/starter/generator.html

Module 6 Angular Forms

Introduction and Module Summary

In this module, you will learn why reactive programming gained popularity among developers and customers, start modeling your group project application and learn how to create reactive forms.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Appreciate reactive programming

Create reactive forms

Read assigned materials

introduced

introduced

Watch assigned videos

reinforced

reinforced

Complete Module  Lab

reinforced

reinforced

Required Materials

1.       Edit the DOM https://developers.google.com/web/tools/chrome-devtools/inspect-styles/edit-dom

2.       What is Reactive Programming? https://blog.redelastic.com/what-is-reactive-programming-bc9fa7f4a7fc

3.       Modelling Reactive Systems with Event Storming and Domain-Driven Design  https://blog.redelastic.com/corporate-arts-crafts-modelling-reactive-systems-with-event-storming-73c6236f5dd7

4.       Reactive Forms https://angular.io/guide/reactive-forms

5.       Reactive Forms - The Basics https://www.youtube.com/watch?v=JeeUY6WaXiA video 15 min.

Optional Materials

1.       The Reactive Manifesto  https://www.reactivemanifesto.org/

2.       Reactive Programming in Angular https://blog.nrwl.io/reactive-programming-in-angular-7dcded697e6c

3.       Angular Forms Guide - Template Driven and Reactive Forms https://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/

Module 7 TypeScript and JSON

Introduction and Module Summary

In this module, you will learn about JavaScript history and how JavaScript is related to TypeScript. You will write TypeScript code, compile and run it in a browser and in a console window.  You will learn about JavaScript Object Notation.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Write, compile and run TypeScript code

Use JSON files

Create and test a disaster recovery plan for your project

Read assigned materials

introduced

introduced

 

Watch assigned videos

 

reinforced

 

Complete Module  Lab

reinforced/mastered

mastered

mastered

Required Materials

1.       Is JavaScript a (true) OOP language? https://medium.com/@andrea.chiarelli/is-javascript-a-true-oop-language-c87c5b48bdf0

2.       TypeScript Basic Types https://www.typescriptlang.org/docs/handbook/basic-types.html

3.       TypeScript Interfaces https://www.typescriptlang.org/docs/handbook/interfaces.html

4.       Write Object-Oriented JavaScript with TypeScript http://rachelappel.com/write-object-oriented-javascript-with-typescript/

5.       Generate TypeScript interfaces from JSON data https://www.youtube.com/watch?v=NHi455y3V2k (3 min video)

Optional Materials

1.       V8 https://github.com/v8/v8/wiki

2.       Get ready : a new V8 is coming, Nodde.JS performance is changing https://medium.com/the-node-js-collection/get-ready-a-new-v8-is-coming-node-js-performance-is-changing-46a63d6da4de

3.       Make Types from JSON files https://jvilk.com/MakeTypes/ 

Module 8 Angular Components

Introduction and Module Summary

In this module, you will learn more about Angular components and how data binding works.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Create and use Angular components

Create a model for group project

Read assigned materials

introduced

reinforced

Watch assigned videos

reinforced

 

Complete Module  Lab

mastered

mastered

Required Materials

1.        Introduction to Components https://angular.io/guide/architecture-components

2.       One-way and Two-Way Data Binding https://www.c-sharpcorner.com/article/angular-one-and-two-way-data-bindings-with-examples/ 

3.       Angular 6 Tutorial 9: Two-way data binding https://www.youtube.com/watch?v=6wUCBJ-2Dew (video 11 min)

4.       Modeling Reactive Systems with Event Storming and Domain-Driven Design  https://blog.redelastic.com/corporate-arts-crafts-modelling-reactive-systems-with-event-storming-73c6236f5dd7

5.       How to Design User-flow Diagrams https://www.youtube.com/watch?v=Ww-y59eVRAE

Optional Materials

1.       Angular Components https://angular.io/api/core/Component

2.       Angular Cheat Sheet https://angular.io/guide/cheatsheet

Module 9 Angular Directives

Introduction and Module Summary

In this module, you will learn how to manipulate DOM using Angular directives and how to change the appearance and behavior of an element.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Implement branching and looping in an Angular application

Change attributes of an element based on the user input.

Improve group project outcomes

Read assigned materials

introduced

introduced

reinforced

Watch assigned videos

reinforced

reinforced

 

Complete Module  Lab

mastered

mastered

 

Required Materials

1.       Structural Directives https://angular.io/guide/structural-directives

2.       Attribute Directives https://angular.io/guide/attribute-directives

3.       Angular 6 Tutorial 29: Directives https://www.youtube.com/watch?v=7j9XrolKPwQ (video 15 min)

4.       A Practical Guide to Angular Directives https://www.sitepoint.com/practical-guide-angular-directives/

5.       Coping with Hitchhikers and Couch Potatoes on Teams https://www2.isye.gatech.edu/~jvandeva/Classes/4106/CouchPotatoes.pdf

Optional Materials

1.        Cheat Sheet https://angular.io/guide/cheatsheet

2.       NgIf Directive https://angular.io/api/common/NgIf

Module 10 NodeJS and ExpressJS

Introduction and Module Summary

In this module, you will learn how to implement server-side logic and use Angular Material components in your project.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Develop an Angular application that can read data from a NodeJS/ExpressJS back-end

Use Angular material form to send data to a NodeJS/ExpressJS back-end

Read assigned materials

Introduced

Introduced

Watch assigned videos

Reinforced

 

Complete Module  Lab

Mastered

 

Reinforced

Required Materials

1.       Express Middleware https://coursework.vschool.io/express-middleware/

2.       Express Routing https://expressjs.com/en/guide/routing.html and https://www.youtube.com/watch?v=tiMLxUKrB-g (video 8 min)

3.       Node.js - RESTful API https://www.tutorialspoint.com/nodejs/nodejs_restful_api.htm and https://www.youtube.com/watch?v=p-x6WdwaJco (10 min)

4.       Angular Material Buttons : Mat-Button Example https://www.angularjswiki.com/angular/buttons-in-angular-using-material-design-mat-button-example/

5.       Angular material Components https://material.angular.io/components/categories

Optional Materials

1.       Node.js - Express Framework https://www.tutorialspoint.com/nodejs/nodejs_express_framework.htm

2.       https://medium.com/@_aerdeljac/creating-a-rest-api-backend-using-express-js-7710d3310b79

Module 11 MongoDB

Introduction and Module Summary

In this module, you will connect an Angular application to a MongoDB database and learn how to select, insert and delete data in a MongoDB database.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Connect an Angular application to MongoDB

select, insert and delete data in MongoDB from an Angular application

Read assigned materials

Introduced

Introduced

Watch assigned videos

Reinforced

Reinforced

Complete Module  Lab

Mastered

Mastered

Required Materials

1.       CRUD https://en.wikipedia.org/wiki/Create,_read,_update_and_delete

2.       MongoDB CRUD Operations https://docs.mongodb.com/manual/crud/

3.       30+ Best MongoDB Interview Questions and Answers (2018 Update) https://www.fullstack.cafe/blog/30-best-mongodb-interview-questions-and-answers

4.       Mongoose Getting Started https://mongoosejs.com/docs/index.html

5.       Mongoose Schemas https://mongoosejs.com/docs/guide.html

6.       MongoDB and Mongoose | Creating a REST API with Node.js https://www.youtube.com/watch?v=WDrU305J1yw  (video 36 min)

Optional Materials

1.       SQL to MongoDB Mapping Chart https://docs.mongodb.com/manual/reference/sql-comparison/

2.       MEAN Stack Angular 6 CRUD Web Application https://www.djamware.com/post/5b00bb9180aca726dee1fd6d/mean-stack-angular-6-crud-web-application

Module 12 MongoDB (crUd)

Introduction and Module Summary

In this module, you will use routing to add a functional menu to the project and learn how to use an Angular application to update a record in a MongoDB database.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Use Angular routing

Us an Angular application to update documents in a MongoDB database

Read assigned materials

Introduced

Introduced

Watch assigned videos

 

Reinforced

Complete Module  Lab

Reinforced, Mastered

Mastered

Required Materials

1.       Angular Material Menu https://material.angular.io/components/menu/overview 

2.       Routing & Navigation https://angular.io/guide/router

3.       Mongoose(mongoDB) functions for CRUD Application https://medium.com/@yugagrawal95/mongoose-mongodb-functions-for-crud-application-1f54d74f1b34

4.       MongoDB and Mongoose | Creating a REST API with Node.js https://www.youtube.com/watch?v=WDrU305J1yw&t=2s (video 36 min)

Optional Materials

1.       Angular Router Tutorial: Setting Up Routing in Your Application https://www.intertech.com/Blog/angular-router-tutorial-setting-up-routing-in-your-application/

Module 13 Conclusion

Introduction and Module Summary

In this module, you will learn about single sign-on and how it can be implemented with the NodeJS. Then we will discuss other important things in MEAN stack applications.

Objectives and Outcomes

This module directly supports highlighted course outcome(s)

Students who complete this course successfully will be able to

1.       Plan, design, and develop as a team a complete IT application that consists of sub-system components.

2.       Implement and test the IT application integration.

Module outcomes and activities:

After completing this module, students will be able:

Discuss single sign-on concepts

Discuss features of a MEAN stack application.

Read assigned materials

Introduced, reinforced

Introduced

Complete Module  Discussion

 

Reinforced

Required Materials

1.       Angular Security https://angular.io/guide/security

2.       Federated Identities: OpenId vs. SAML vs. OAuth https://www.softwaresecured.com/federated-identities-openid-vs-saml-vs-oauth/

3.       Build and Authenticate a Node.js App with JSON Web Tokens https://auth0.com/blog/building-and-authenticating-nodejs-apps/ or Angular Security - Authentication With JSON Web Tokens (JWT): The Complete Guide https://blog.angular-university.io/angular-jwt-authentication/

Optional Materials

1.       Certified OpenID Connect Implementations https://openid.net/developers/certified/

2.       Need a demo SAML Service Provider? We got you covered... https://community.rsa.com/community/products/securid/blog/2016/05/19/need-a-demo-saml-service-provider-we-got-you-covered