COMP08148 2018 Open Stack Development 402

General Details

Full Title
Open Stack Development 402
Transcript Title
Open Stack Development 402
Code
COMP08148
Attendance
N/A %
Subject Area
COMP - Computing
Department
COMP - Computing & Creative Practices
Level
08 - NFQ Level 8
Credit
05 - 05 Credits
Duration
Semester
Fee
Start Term
2018 - Full Academic Year 2018-19
End Term
9999 - The End of Time
Author(s)
Colm Davey, Aine Mitchell, Shane Banks
Programme Membership
SG_KAPPL_H08 201900 Bachelor of Arts (Honours) in Computing in Application Design and User Experience
Description

In this module, students will be required to develop full-stack web applications using Open Source technologies. Students will make use of containers and a cloud services in developing and deploying their applications.

Learning Outcomes

On completion of this module the learner will/should be able to;

1.

Design and create complex web applications using modern JavaScript frameworks and open source technologies

2.

Create a NoSQL database and implement operations to perform insert, delete and updates on the data.

3.

Examine Container concepts and integrate them into the development and deployment process

4.

Evaluate and use cloud services such as Analytics to enhance an application

Teaching and Learning Strategies

A practical approach to teaching and learning will be used. Problem-based learning will be used where possible. The one hour lecture will be used to introduce core concepts. The lab practicals will be used to learn key concepts by developing web applications. 

Virtual Machines will be used to allow flexibility and enhance learning.

Module Assessment Strategies

100% continuous assessment. Assessment for and of learning will be carried out. Students participate in a project (70%) and have to complete lab work and a number of formative and summative quizzes (30%). The in-class summative quizzes will take place in weeks 3, 6 and 9. Students will be required to peer review and provide feedback to each other on their project work.

Repeat Assessments

Repeat Project covering all learning outcomes.

Indicative Syllabus

Design and create complex web applications using modern JavaScript frameworks and open source technologies

  • Create complex responsive web front ends using a JavaScript framework
  • Examine the advanced language features
  • Examine how state is implemented using libraries such as Redux
  • Examine the MEAN stack, its components and how they integrate

Create a NoSQL database and implement operations to perform insert, delete and updates on the data.

  • Examine what NoSQL is and the need for it, look at the CAP theorem
  • Describe the different types of NoSQL databases such as Key-Value, Document, Column-Family, and Graph
  • Examine how to connect to an application to a NoSQL database and read/write/delete

Describe Container concepts and integrate them into the development and deployment process

  • Examine the different containers such as Docker, why they are used and what problems they solve
  • Examine container repositories, how to build images and push to repositories
  • Investigate deployment operations such as AWS ECS
  • Use the role containers as part of the development and deployment process of an application
  • Test the application running in a container

Evaluate and use cloud services such as Analytics to enhance an application

  • Examine the different cloud hosting services such as AWS, Azure, GCP
  • Examine cloud storage options such as Firebase and AWS
  • Determine how Google Analytics integrates into Single Page Applications

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
100 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Quizzes and Lab Work Continuous Assessment Multiple Choice 30 % OnGoing 1,2,3,4
2 Develop a full stack web application Continuous Assessment Project 70 % End of Term 1,2,3,4
             

Full Time Mode Workload


Type Location Description Hours Frequency Avg Workload
Lecture Computer Laboratory Lecture 1 Weekly 1.00
Laboratory Practical Computer Laboratory Lab Programming 2 Weekly 2.00
Independent Learning Computer Laboratory Self-Directed Learning 3 Weekly 3.00
Total Full Time Average Weekly Learner Contact Time 3.00 Hours

Online Learning Mode Workload


Type Location Description Hours Frequency Avg Workload
Lecture Online Lecture 2 Weekly 2.00
Directed Learning Online Directed Learning 1 Weekly 1.00
Independent Learning Not Specified Independent Study 4 Weekly 4.00
Total Online Learning Average Weekly Learner Contact Time 3.00 Hours

Required & Recommended Book List

Recommended Reading
2016-03-27 Docker in Action Manning Publications
ISBN 1633430235 ISBN-13 9781633430235

Summary

Docker in Action teaches readers how to create, deploy, and manage applications hosted in Docker containers.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

The idea behind Docker is simple. Create a tiny virtual environment, called a container, that holds just your application and its dependencies. The Docker engine uses the host operating system to build and account for these containers. They are easy to install, manage, and remove. Applications running inside containers share resources, making their footprints small.

About the Book

Docker in Action teaches readers how to create, deploy, and manage applications hosted in Docker containers. After starting with a clear explanation of the Docker model, you will learn how to package applications in containers, including techniques for testing and distributing applications. You will also learn how to run programs securely and how to manage shared resources. Using carefully designed examples, the book teaches you how to orchestrate containers and applications from installation to removal. Along the way, you'll discover techniques for using Docker on systems ranging from dev-and-test machines to full-scale cloud deployments.

What's Inside

  • Packaging containers for deployment
  • Installing, managing, and removing containers
  • Working with Docker images
  • Distributing with DockerHub
  • About the Reader

    Readers need only have a working knowledge of the Linux OS. No prior knowledge of Docker is assumed.

    About the Author

    Jeff Nickoloff, a software engineer, has presented Docker and its applications to hundreds of developers and administrators at Desert Code Camp, Amazon.com, and technology meetups.

    Table of Contents

    PART 1 KEEPING A TIDY COMPUTER

    1. Welcome to Docker
    2. Running software in containers
    3. Software installation simplified
    4. Persistent storage and shared state with volumes
    5. Network exposure
    6. Limiting risk with isolation
    7. PART 2 PACKAGING SOFTWARE FOR DISTRIBUTION

    8. Packaging software in images
    9. Build automation and advanced image considerations
    10. Public and private software distribution
    11. Running customized registries
    12. PART 3 MULTI-CONTAINER AND MULTI-HOST ENVIRONMENTS

    13. Declarative environments with Docker
    14. Clusters with Machine and Swarm

    Recommended Reading
    2017-10-23 Node.js, MongoDB and Angular Web Development: The definitive guide to using the MEAN stack to build web applications (Developer's Library) Addison Wesley
    ISBN 0134655532 ISBN-13 9780134655536
    Recommended Reading
    2017-03-28 Amazon Web Services in Action, 2E Manning Publications
    ISBN 1617295116 ISBN-13 9781617295119

    Module Resources

    Journal Resources

    NA

    URL Resources

    http://mean.io/

    https://www.docker.com/

    https://angular.io/

    https://material.angular.io/

    https://aws.amazon.com/documentation/

    https://github.com/
     

    Other Resources

    IT Sligo Virtual Machines

    Additional Information

    None