Code Monkey home page Code Monkey logo

cybr8480's Introduction

CYBR8480

This repo contains a digitized version of the course content for IA8470 Secure Mobile/IoT Development at the University of Nebraska at Omaha.

Overview

Mobile devices are already pervasive fixtures of 21st century culture and increasingly the internet of things (IoT) and wearables are proliferating throughout the world. As this proliferation occurs, numerous vendor-centric and third party mobile, wearable, and internet of things apps are being created by developers and downloaded by end-users with little to no thought about the security and privacy of the information used and collected by the apps. This course examines this issue from a development point of view to a) introduce mobile/wearable/IoT architectures and technologies, b) increase developer application development competencies with these technologies, and c) integrate secure design principles into the ideation, design, and testing phases during development.

Table of contents

Online discussion area
Location Supplies Projects Labs Class topics
Syllabus
License

Online Discussion Area

I have setup an online discussion board on slack.com for usage in this class. If you decide to work on a group project, I can create some private channels for you to work on, but I want to be able to participate in your conversations - so please use the space on slack.

Go to https://drhale8480.slack.com and use your unomaha email address to register an account. This will give you access to the course discussion and project collaboration spaces. Use the the general channel or create a new one for your team.

Location

All classroom activities will take place in PKI room 261 unless otherwise noted ahead of time.

Supplies

Hardware/software

  • Virtualbox or VMWare Workstation (windows) or Fusion (mac)
  • UNO Cloud Deployment Environments
  • Your laptop - capable of running android studio (Win7+/MacOSX10.10+ 8GB Ram, 2GB disk space, 1280x800 min, 64bit (pref))
  • Metawear Any of the R, RPRO, RG, C, or CPRO models will work. If you are just using it in the class, the R version is the cheapest and recommended ($40).
  • Android 4.3+ (API level 18+) Bluetooth LE capable phone or tablet
  • IoT Device of your choice for your project (something you can select later when you choose a project)

Texts

  • TBA

Projects

Project Milestone 1 rubric - TBA

Project Milestone 2 rubric - TBA

Project Final Milestone rubric - TBA

2016 Projects and Final Presentations:

  • Student work goes here

2017 Projects and Final Presentations

  • Your work goes here

Labs

  1. Introduction to the course
  1. Hybrid app development in Cordova
  1. Native App development in Android
  • TBA
  1. Wearable Development with Metawear
  • TBA

Class Topics

  1. Getting up to speed
  • Virtualization and Github Labs
  1. Introduction to Mobile app Ecosystem (PDF Lecture 1)
  • Types of mobile apps
  • Stats: Threat Vectors and vulnerabilities
  • Wearable and IoT Introduction
  1. Hybrid app Development Primer (PDF Lecture 2)
  2. Native app Development Primer (PDF TBA)
  3. IoT Development primer (PDF TBA)
  4. Test-driven Development (PDF TBA)
  • Unit testing
  • Acceptance critera
  • think-test-build-test-repeat
  1. Time to be creative

Syllabus

Date/Time: Tuesday 5:30pm – 8:10pm

Instructor: Dr. Hale

Office: PKI 174-D, (402) 554-3978

Office Hours: By appointment or walk-ins anytime the door is open

Grading Breakdown (due dates are tentative)

  • (10%) Participation score (meetings, short tutorial participation, etc)
  • (10%) Introduction to Hybrid Apps (Ember/Cordova) (Lab 1 - no rubric)
  • (10%) Introduction to Native Apps (Android Studio) (Lab 2 - no rubric)
  • (10%) Introduction to Wearables (Metawear) (Lab 3 - no rubric)
  • (15%) Semester Project Milestone 1 - (rubric TBA)
  • (20%) Semester Project Milestone 2 - (rubric TBA)
  • (25%) Semester Project Milestone Final - (rubric TBA)

Each project milestone will have a specific grading rubric that includes the core requirements for the project (i.e. what the application must do), any required intermediate milestone goals (such as short progress meetings with the instructor), the project due date, and the list of items that must be submitted. Each project will include a presentation component to be presented in class on the project due date. Projects build upon each other. The final Project is considered to be comprehensive. This means that there is no final exam. Final Project presentations will be presented on the day of the Final.

Attendance

  • Class Attendance: You do not have to attend class except on presentation days (see below). Given the course is one day a week, attendance is highly recommended. Missing a single class is equivalent to missing 2-3 classes of a normal course. If you miss class, you are responsible for getting the material – including any assigned project work.
  • Presentation Attendance (Mandatory): If you miss class on a presentation day you will receive a 0 on the presentation portion of the project grade unless you have a university-approved excuse or an approved extension (see below).

Group Work

Students may choose (or be compelled) to work in groups. Group projects will include an individual participation grade worth 40% of the total group points, e.g. a group may make a 100% on a particular project, but an individual with low participation in the group may make a 60%. Participation will be anonymously rated by other group team members and the instructor.

Team formation

The instructor reserves the right to make a change to any team or any project during the course of the semester for any reason that may or may not be disclosed. Project rescoping will be performed in this event.

Service Learning / Real World Customers

As part of UNO’s strategic initiatives, individuals or groups may be partnered with community organizations in Omaha for service learning through the center for community engagement. If community partners can be identified, student projects (group or individual) in the class may work towards meeting community needs. In the event of community projects, appropriate scoping will be considered to ensure that community needs can be met within the time constraints of the coursework.

Project Extensions and Late work

Sometimes unforeseen events occur or development takes longer than expected. In such cases, project extensions will be allowed. To receive a project extension, individuals or groups must request an extension at least 24hours in advance of the project due date. Extension time frames are at the discretion of the instructor, but generally will not be longer than 1 week. Failure to request an extension 24 hours prior to the due date means that the work is due at the specified time. Late work without a requested extension will receive a 5% point reduction per day up to a total of 40%. Late work submitted 2 weeks after an original (or extended) due date will not be accepted.

Special accommodations for students with disabilities

Students with disabilities requiring special accommodations must contact disability services. Disability services may be reached by phone at (402) 554-2872 or by email at [email protected].

Special accommodations for active duty or reserve military

Students serving in the military requiring special accommodations (e.g. unit deployment) must contact the office of Military and Veteran Services by phone at (402) 554-2349 or by email at [email protected].

Plagiarism

The university policies on cheating and plagiarism apply in this course. Except on designated group work, the expectation is that every student will do their own work. Students under suspicion of plagiarism for individual assignment submitted materials will be given an opportunity to defend themselves. If after defense the instructor still believes the work to be plagiarized the department chair will be notified and the grade evaluation for the assignment will be lowered to a value between 50% and 0% at the discretion of the instructor. If a second occurrence of plagiarism occurs, the student will receive an F for the course and the registrar’s office will be notified that the student is not permitted to withdraw from the course. In addition the department chair and dean will be notified.

Work Retainment

The CS and IS programs in the College of IS&T are accredited through ABET (the Accreditation Board for Engineering and Technology. This organization occasionally requires that we keep samples of student work.

The instructor may retain a copy of your exams (with names and any other identifying information removed) for accreditation or pedagogy purposes, unless you specify otherwise in writing.

In addition, the instructor retains the right to use any code or project artifacts developed in the course for pedagogy, research, or service learning purposes. Student web project code developed in the course may be used in future secure project development courses, by the instructor for research purposes, or by designated stakeholders.

License

Secure Mobile / IoT Development Copyright (C) 2016-2017 Dr. Matthew L. Hale

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

What does GPLv3 mean?

tl;drLegal summary

cybr8480's People

Contributors

mlhale avatar vingle1 avatar

Watchers

James Cloos avatar Robin Gandhi avatar

Forkers

giomj

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.