Ryan Bensussan Harvey Instructor in Computer Science

COSC A319 Internet Technologies
Syllabus (Fall 2019)

Table of Contents

πŸ‘¨πŸ»β€πŸ« INSTRUCTOR: Mr. Ryan B. Harvey πŸ”

Location Contact Info
🏫 Office: Not on campus Fall 2023 πŸ“ž Phone: 301-613-9130
πŸ•Ÿ Office Hours: By appointment βœ‰οΈ Email: rharvey@loyno.edu

COURSE DESCRIPTION πŸ”

πŸ‘¨πŸ»β€πŸ« From the Instructor

This course introduces students to the world of internet and networked systems development. Concepts related to distributed systems development; concurrent and asynchronous processing; process communications and network transport protocols; distributed application architecture and design; deployment, monitoring and debugging of internet-based systems; and web of things development will be covered.

πŸ“œ From the Undergraduate Bulletin

This course explores the concepts and technologies that are used in modern Internet systems, and provides the necessary skills and knowledge of software technologies needed for creating Internet/Web services. It is designed to expose students to web content presentation and generation technologies, programming, and building multi-tiered client/server web applications.

πŸ› PREREQUISITES πŸ”

One of:

To be successful in this course, students are expected to have practical experience building multi-file/multi-component software projects. In particular, students should be comfortable working with data structures, designing classes and class interfaces, and writing software modules that form part of a larger application.

πŸŽ“ LEARNING OBJECTIVES πŸ”

Students will experience the design and construction of internet-based systems through hands-on interaction with course material. The course will provide students with a basis of theory upon which to reflect upon experiences: designing and building server-side systems that must serve multiple client system types; designing and building several types of client systems that operate and interact with the server system concurrently and asynchronously; debugging process timing and network failure issues; and building systems on networked physical devices; understanding the network designs and protocols that enable the modern internet.

πŸŽ“ LEARNING OUTCOMES πŸ”

Upon completion of this course, students should be able to:

  • Understand and explain the theoretical approaches to dealing with concurrency in software
  • Explain the types of problems that can occur in software when processes operate concurrently
  • Understand and explain the theoretical approaches to building software systems with components that operate asynchronously
  • Understand and explain how messages travel between systems on the internet, including the various protocols used and what information they require and provide
  • Understand what services are offered by commercial cloud providers, and how those services fit into internet-based distributed software architectures
  • Build and deploy server-side API software capable of serving multiple client software types
  • Build and deploy web-based client software that communicates with a server-side API
  • Build and deploy a software client on a mobile device that communicates with a server-side API
  • Build, configure and deploy an internet-of-things or web-of-things device that communicates with a server-side API
  • Reflect on the unique requirements of internet-based software
  • Reflect on the collection of technologies that enable the modern internet
  • Know where to look for more information on the topics covered in this course

πŸ“š REQUIRED TEXTBOOKS πŸ”

πŸ“— Building the Web of Things, 1st Edition, by Dominique Guinard and Vlad Trifa. Manning Publications, 2016. ISBN 978-16-172926-8-2.

Companion website: https://webofthings.org/book/.

This book is available for sale online for about $35. You DO need to buy this book, or at least rent it for the semester.

Supplies for IoT projects will be provided for use during the course. If you treat the supplies with care and return them at the end of the course, you will not need to buy anything.

If you wish to build something to keep after the course is complete, or if you damage university equipment while it is under your care, you will need to purchase those items yourself. Please consult with the instructor about what to buy.

πŸ“™ Eloquent Javascript, 3rd Edition, by Marijn Haverbeke. Marijn Haverbeke, 2018. ISBN 978-15-932795-0-9.

Companion website: https://eloquentjavascript.net/.

This version of the book is available for free online. You DO NOT need to buy this book. In addition, the online version is interactive, allowing you to try out code and explore the output while you read.

A print version is available from No Starch Press. If you would like to purchase the book, you can get there from the book website.

πŸ“˜ The Illustrated Network: How TCP/IP Works in a Modern Network, 2nd Edition, by Walter Goralski. Morgan Kaufmann/Elsevier, 2017. ISBN 978-0-12-811027-0.

This book is available for sale online for between $70 and $90. You DO need to buy this book, or at least rent it for the semester.

πŸ“š RECOMMENDED TEXTBOOKS πŸ”

πŸ“• Designing Distributed Systems, 1st Edition, by Brendan Burns. O'Reilly Media, 2018. ISBN 978-14-919836-4-5.

Companion website: http://shop.oreilly.com/product/0636920072768.do.

This book will be a good reference for the project, particularly if you choose to use a container-based architecture to build your API and web components.

Several copies of this book will also be available for use in Monroe Hall Rm 413 for the duration of the semester. You DO NOT need to buy this book, but it is a good reference if you can afford it.

πŸ“” Distributed Systems, 3rd Edition, by Maarten van Steen and Andrew S. Tanenbaum. Maarten van Steen, 2017. ISBN 978-15-430573-8-6 (print), 978-90-815406-2-9 (digital).

Companion website: https://www.distributed-systems.net/index.php/books/distributed-systems-3rd-edition-2017/.

This book is available free online, and will only be used as reference. You DO NOT need to buy this book.

πŸ— PROJECT πŸ”

During this course, you will be building a multi-component internet system using some of the concepts learned through lecture and demo.

Project Components

The project entails creating several components:

  • a web API server that can provide data and back-end services for client applications
  • a web-of-things hardware device for reporting the state of a number of sensors and interacting with the API server’s back-end services, using a Raspberry Pi 3B+ system board
  • a browser-based client application (commonly called a β€œweb app”) for interacting with the API server’s back-end services via a computer through a website
  • a mobile application (such as you might find in an app store like Apple’s or Google Play) for interacting with the server’s back-end services via a mobile phone

What to Expect

Several class periods during the semester are set aside for working on the project during class. These days will help you to get started building out the required functionality for each assignment with instructor/faculty assistance, but likely will not be enough to complete the project assignments. Please expect to dedicate time outside of class to working on the project on your own.

Tools and Equipment

JavaScript

All programming for the project will be done using JavaScript. The required β€œtextbook” Eloquent JavaScript, 3rd Ed. (see Textbooks above) is a great interactive online resource that allows you to play with the code examples from within the browser to get a feel for how the code works. It teaches modern JavaScript coding style and syntax, which is what we’ll use during the majority of this course.

JavaScript was originally meant for the web browser. However, it is now used often in various non-browser ways. For this project, we’ll use the following JavaScript based tools:

Web of Things Device Equipment

Equipment for the web of things device will be provided by the instructor. A few cautions about university-provided equipment:

  • If you break the equipment, you’ll need to pay for it. Please take care of it.
  • If you fail to return the equipment, you’ll need to pay for it. Please return it during the final exam period.
  • If you wish to build something during the course that you can keep and use, please consult with the instructor to find out what you need to purchase.

Hardware Design Tools

A helpful tool for hardware design is the free Fritzing App, which provides a virtual design lab with ready-made hardware components.

For the project assignments, your instructor will provide plans in fritzing format for you to use, should you wish, in addition to images of those plans for you to follow.

If you personalize your project, you may wish to install and use this software to create your hardware design prior to implementing it.

Network Inspection Tools

During this course, we will be learning to use a variety of basic Linux command line tools (that are available on almost every installation of Linux) to inspect the networks of the Internet and how our computers interact with them.

In some cases, these are not enough, and we want to inspect the packet-level data being transmitted through the network. In such cases, there are a few useful tools you can use.

Although not strictly related to the project, you may find some of these tools useful in debugging what you build.

  • Wireshark - the most commonly used network protocol analyzer, providing facilities for live capture and offline analysis of network traffic data at the packet and byte level. Also provides tshark, the command-line version of Wireshark. This was originally named β€œEthereal”, with command-line version tethereal.
  • Under the hood of Wireshark is libpcap, which is part of the tcpdump command line packet analyzer. Somewhat harder to use, it provides raw capture capability for cases where Wireshark is not enough. (Your instructor has not found any cases like this yet.)
  • Fiddler is a web debugging proxy that is sometimes useful for manipulating a web session or intentionally impacting network performance when building internet-based software.
  • Zenmap, the graphical interface for the nmap command line tool, provides facilities for scanning networks and systems for security vulnerabilities.

During this course, we will use Wireshark during demos to explore the protocol layers of internet message packets when we dive into the details of the various protocols.

Extra Credit Opportunities

There are a few extra credit opportunities associated with the project that you may wish to take advantage of.

Personalize Your Project (up to 500 points)

You may choose to personalize your project in some way for extra credit. Some ideas for how you might do so are:

  • add an integration with the OpenWeatherMap API that pulls in weather forecasts for one or more locations (configurable, of course) periodically and makes them available with the sensor data through all interfaces
  • create an online brand for your weather station, and redesign each interface to match the brand you create, so everything looks like a coherent product
  • add a camera, and implement user recognition and preferences setting using face detection
  • add additional sensors to report information you’re interested in seeing, and add them to your interfaces
  • upgrade your API to accept streaming data connections (perhaps via web sockets), and provide near-real-time temperature and humidity data feeds to all connected clients
  • enhance the mobile app client to support both iOS and Android phone platforms, aligning your design with each of their user interface guidelines and commonly accepted user interface patterns

Be creative and make your project yours. You’ll have fun, and you’ll be rewarded with up to 500 extra points too!

(The total amount of points awarded will depend on the difficulty and complexity of the enhancements, and will be at the discretion of the instructor.)

Project Poster (500 points)

Option A

If you complete your multi-component project and personalize it, you also have an opportunity for 500 more points of extra credit if you create a poster (using the instructor-provided template) explaining the system, its design and operation, and the process used to build and test it.

Option B

Use your project to explore in detail some of the protocols and transport mechanisms covered in this course. Use some of the network inspection tools listed above to explore the data transport between components of your app, and create a poster explaining in detail what you are seeing and how that works in relation to the protocols used.

Please contact the instructor if you wish to create a poster.

πŸ““ REFLECTION JOURNALS πŸ”

Weekly Journal Entries

During this course, you will also be keeping a journal with at least weekly reflections on your experiences, including but not limited to the following topics:

  • content covered in lectures or textbooks
  • your project build or the tools used to build it
  • your learning process
  • your time management / procrastination practices
  • your questions for further learning after the class
  • connections to other courses or course material you’ve made
  • β€œAha!” moments you’ve had during this course
  • how the experiences and material in this course relate to your degree program
  • how the experiences and material in this course might be relevant to your future career

Journal entries will be due at the end of the day every Friday (i.e., just before midnight Central time), with the exception of the first entry, which you’ll do during the first class period. Journal entries must be submitted using the Reflections Journals in Blackboard. Be sure to write your entry into the journal with the appropriate due date.

Additional journal entries beyond those required weekly may be eligible for extra credit points at the instructor’s discretion.

Reflection Essay

At the end of the semester, you will be required to write a short (5-10 pages) personal reflection essay examining the following questions:

  • What activities did you perform during this course?
  • What were your expectations at the beginning of the course? How did your expectations and attitudes change throughout the semester?
  • Describe a moment of clarity that occurred for you during this course? What made the concept clear for you? How did you gain a better understanding of it?
  • Did the project in this course make your understanding of software development and computer science clearer? Your understanding of the Internet and Internet-based applications? How?
  • What did you learn about yourself during this experience?
  • What did you learn about others during this experience?
  • How can you use what you learned through this experience in your future coursework and in your future career? Do you feel better prepared for your career path after this experience? Why?
  • What topics will you continue exploring after the course? Why does each interest you? How will you go about exploring each of those concepts?

This paper is due on Thursday, December 5, 2019, at 4:55 PM just before our last regular class period, and must be submitted in PDF format through the Blackboard assignment, which uses SafeAssign. Unless you have arranged with me ahead of time due to some unforeseen circumstance, essays emailed to me or handed in on paper will not be graded and will receive zero credit.

How you will be graded

Content. Your paper must address all the above questions. Reflection essays may explore other topics related to these questions, but if these questions are not addressed, you will lose points. Journal entries must address at least one of the questions, and should not address the same question each week.

Depth of Personal Reflection. Your paper and journal entries must show depth of reflection. Learning often means struggling not only with new concepts and ideas, but also with your own habits and perceptions. Spend enough time thinking about this and reflecting on these questions that you are able to feel that struggle.

Correctness. In addition to content, you will be graded on the correctness of your writing (spelling, grammar, punctuation, word choice, etc.), and on the readability and formatting of your submitted paper (font choice, margins, line length, spacing, etc.). Please be careful in your writing and be sure to proofread before submitting.

βœ… EXAMS πŸ”

There will be two exams in this course, each testing your understanding of the material covered in the prior half of the semester:

  • A MIDTERM EXAM on Thursday, October 10, 2019, 4:55 β€” 5:45 PM (followed by presentation of assignments for the 3 following project days)

    Topics covered will include some combination of the following:

    • JavaScript language & runtime, debugging, and internals
    • JavaScript in the browser and React
    • JavaScript on the server and Node.js
    • The internet, the web of things definitions
    • Containerization for deployment
    • Embedded devices and WoT/IoT integration patterns
    • WoT/IoT Discovery and Sharing Patterns
    • The TCP/IP protocol stack overview
    • The OSI Layered Network Model
    • Network Link Technologies, Packet Optical Networks and FEC
  • A FINAL EXAM on Thursday, December 12, 2019, 4:30 β€” 5:30 PM (followed by final project demos from 5:30 β€” 6:30 PM)

    Topics covered will include some combination of the following:

    • JavaScript on mobile devices and React Native
    • IPv4 & IPv6 Addressing, ARP, IPv4 & IPv6 Headers, and ICMP
    • Routing and IP Forwarding
    • UDP and TCP
    • Multiplexing and Sockets
    • DHCP and DNS
    • FTP, SMTP & Email, and HTTP
    • SSL, SSH, NAT, Firewalls and IPSEC
    • Network Failure Modes & Mitigation Techniques

Please be on time, as exams will start promptly at the beginning of the timeframe listed.

πŸ’― GRADES πŸ”

The following activities will contribute to your final grade in this course:

  • πŸ•Ÿ Participation
  • πŸ— Project
  • πŸ““ Reflections Journal & Paper
  • βœ… Exams

The following calculation will be used to compute your final score in the course:

Grade Value Quantity Total
πŸ•Ÿ Participation 8.75% 700 points possible
πŸ•Ÿ Participation: Extra Credit +31.25% 2500 extra points possible
Class Participation 20 points 30 600 points possible
Final Participation 100 points 1 100 points possible
Extra Credit:
Attend DevFest
Oct 5, 2019
+250 points 1 +250 points possible
Extra Credit:
Attend Stephen Kent talk
Oct 8, 2019
+250 points 1 +250 points possible
Extra Credit:
Hacktoberfest PRs
(during Oct/after Oct)
+300/+200 points 5 +1500 points possible
Extra Credit:
Attend The Big Elixir
Nov 7 & 8, 2019
+250 points 2 +500 points possible
πŸ— Project 42.5% 3400 points possible
πŸ— Project: Extra Credit +18.75% 1500 extra points possible
PROJECT DAY ASSIGNMENT:
Web Client (1)
300 points 1 300 points possible
PROJECT DAY ASSIGNMENT:
Server API (2)
500 points 1 500 points possible
PROJECT DAY ASSIGNMENT:
IoT/WoT Device (3 & 4)
400 points 2 800 points possible
PROJECT DAY ASSIGNMENT:
Integration (5 & 6)
400 points 2 800 points possible
Extra Credit:
OPTIONAL ASSIGNMENT:
Mobile Client (7)
+500 points 1 +500 points possible
Final Project Demo 1000 points 1 1000 points possible
Extra Credit:
Personalized Project
+500 points 1 +500 points possible
Extra Credit:
Project Poster
+500 points 1 +500 points possible
πŸ““ Reflections 11.25% 900 points possible
Weekly Reflection Journal 25 points 16 400 points possible
Reflection Paper 500 points 1 500 points possible
πŸ“ Exams 37.5% 3000 points possible
Midterm Exam 1000 points 1 1000 points possible
Final Exam 2000 points 1 2000 points possible
TOTAL 100% 8000 points possible
TOTAL EXTRA CREDIT +50.0% 4000 extra points possible

The grading scale is the standard 10-point scale.

Letter Grade Percentage Range Points Range
A 93 – 100 7440 – 8000
A- 90 – 92 7200 – 7439
B+ 88 – 89 7040 – 7199
B 83 – 87 6640 – 7039
B- 80 – 82 6400 – 6639
C+ 78 – 79 6240 – 6399
C 73 – 77 5840 – 6239
C- 70 – 72 5600 – 5839
D+ 68 – 69 5440 – 5599
D 60 – 67 4800 – 5439
F 59 and below 4799 and below

πŸ“† SCHEDULE OF TOPICS

The following schedule of topics and activities represents the best estimation of the semester schedule based on available information at the time of writing. Dates and activities are subject to change in response to needs that come up during the semester. You will be notified in class or via Blackboard about any adjustments to the schedule.

Week β€’ Session Date Topics Activities Readings & Preparation
1 β€’ 1

Tue 08/20

πŸ“ƒ Course Intro

πŸ’» Language & Tools Intro

πŸ‘‹ Introductions

πŸ“ƒ Syllabus Review

πŸ’­ Lecture

If you haven’t already:

(Note: EJS programming concepts should already be well-understood; material should be review except for new syntax)

1 β€’ 2

Thu 08/22

πŸ’­ Intro to the Internet

πŸ’­ Intro to the Web of Things

πŸ’­ Lecture

πŸ“— BWT: pp.1-58 (Ch 1 - 2)

πŸ“™ EJS: Intro. - Ch. 7 (review)

2 β€’ 3

Tue 08/27

πŸ’­ Intro to JavaScript

πŸ’­ Lecture

πŸ’» Demo

πŸ“™ EJS: Intro. - Ch 7 (review)

2 β€’ 4

Thu 08/29

πŸ’­ JavaScript Asynchrony/Concurrency

πŸ’­ JavaScript Debugging

πŸ’­ Lecture

πŸ’» Demo

πŸ“™ EJS: Ch 8 - 11

3 β€’ 5

Tue 09/03

πŸ’­ JavaScript in the Browser

πŸ’­ Lecture

πŸ’» Demo

πŸ“™ EJS: Ch 13 - 15, Ch 18

3 β€’ 6

Thu 09/05

πŸ’­ JavaScript Internals

πŸ’­ JavaScript Debugging

πŸ’­ Containerization

πŸ’­ Lecture

πŸ’» Demo

πŸ”— JavaScript Internals: Under the Hood of a Browser

πŸ”— MDN JavaScript Concurrency Model & Event Loop

πŸ”— JavaScript Callback Concurrency (Pre-promises)

⏯ Asynchrony: Under the Hood (Video - 25min)

πŸ’» Loupe: Exploratory tool to understand JS execution ordering

πŸ”— Intro to VMs, Containers & Docker

4 β€’ 7

Tue 09/10

πŸ’­ Intro to React

πŸ’­ Lecture

πŸ’» Demo

πŸ— Project (Intro/Start)

πŸ”— create-react-app Get Started

πŸ”— Thinking in React

4 β€’ 8

Thu 09/12

πŸ— PROJECT DAY: Web Client

(Instructor out of town)

πŸ— Project

5 β€’ 9

Tue 09/17

πŸ— Check-in about PROJECT DAY

πŸ’­ Intro to Node.js

πŸ— Project

πŸ’­ Lecture

πŸ’» Demo

πŸ“— BWT: pp. 59 - 82 (Ch 3)

πŸ“™ EJS: Ch 20

5 β€’ 10

Thu 09/19

πŸ’­ Intro to Node.js (cont.)

πŸ’­ Web of Things APIs

πŸ’­ Lecture

πŸ“— BWT: pp. 109 - 174 (Ch 5 - 6)

6 β€’ 11

Tue 09/24

πŸ— PROJECT DAY: Server API

πŸ— Project

6 β€’ 12

Thu 09/26

πŸ’­ Intro to TCP/IP Stack

πŸ’­ Lecture

πŸ“˜ TIN: pp. 3 - 69 (Ch 1 - 2)

πŸ”— Network Failure Modes and Prevention

7 β€’ 13

Tue 10/01

πŸ’­ Embedded Devices

πŸ’­ IoT Integration Patterns

πŸ’­ Intro to Electron.js

πŸ’­ Lecture

πŸ’» Demo

πŸ“— BWT: pp. 83 - 108 (Ch 4)

πŸ“— BWT: pp. 175 - 213 (Ch 7)

πŸ”— Writing Your First Electron App

πŸ”— Electron Application Architecture

7 β€’ 14

Thu 10/03

πŸ’­ IoT Discovery & Sharing Patterns

πŸ— PROJECT DAY: IoT/WoT Device

πŸ— Project

πŸ“— BWT: pp. 109 - 174 (Ch 8 - 9)

7 β€’ -

Sat 10/05

πŸ‘¨πŸ»β€πŸ« Instructor speaking

Attend for 250 points extra credit

πŸ”— DevFest New Orleans 2019

8 AM β€” 5 PM
Miller Hall Rm 114

πŸ”— Register Now

Registration is $10 β€” $25 (more the later you register), scholarships available

8 β€’ 15

Tue 10/08

πŸ’­ Network Link Technologies

πŸ’­ Packet Optical Networks

πŸ’­ Forward Error Correction (FEC)

πŸ’­ Lecture

πŸ“˜ TIN: pp. 71 - 135 (Ch 3 - 4)

πŸ”— Network Failure Prevention: Let’s Get Physical

πŸ”— Network Failure Modes and Prevention: The Data Link Layer

8 β€’ -

Tue 10/08

πŸ‘¨πŸ»β€πŸ« Dr. Stephen Kent speaking

Attend for 250 points extra credit

6:30 PM (immediately after class)

Danna Center Audubon Room

πŸ”— Internet Hall of Fame page

πŸ”— Co-Authored IETF RFCs

8 β€’ 16

Thu 10/10

βœ… MIDTERM EXAM

βœ… Exam

Study!

9 β€’ -

Tue 10/15

NO CLASS - FALL BREAK

9 β€’ 17

Thu 10/17

πŸ— PROJECT DAY: IoT/WoT Device

(Instructor out of town)

πŸ— Project

Plan your work to be effective during the class period.

10 β€’ 18

Tue 10/22

πŸ— PROJECT DAY: Server API <-> IoT/WoT Device

(Instructor out of town)

πŸ— Project

Plan your work to be effective during the class period.

10 β€’ 19

Thu 10/24

πŸ— PROJECT DAY: Web Client <-> Server API

(Instructor out of town)

πŸ— Project

Plan your work to be effective during the class period.

11 β€’ 20

Tue 10/29

πŸ— Check-in & help for PROJECT DAYS

πŸ— Project

11 β€’ 21

Thu 10/31

βœ… Midterm Exam detailed review

πŸŽƒ Happy Halloween!

πŸ‘» Feel free to attend class in (classroom-appropriate) costume. Bragging rights awarded for costumes related to course material.

βœ… Exam Review

12 β€’ 22

Tue 11/05

πŸ’­ IPv4 & IPv6 Addressing

πŸ’­ Address Resolution Protocol (ARP)

πŸ’­ IPv4 & IPv6 Headers

πŸ’­ Lecture

πŸ“˜ TIN: pp. 139 - 219 (Ch 5 - 7)

12 β€’ 23

Thu 11/07

πŸ’­ Internet Control Message Protocol (ICMP)

πŸ’­ Routing

πŸ’­ IP Forwarding

πŸ’­ Lecture

πŸ“˜ TIN: pp. 221 - 288 (Ch 8 - 10)

πŸ”— Network Failure Modes and Prevention: Murphy and the Network Layer

13 β€’ 24

Tue 11/12

πŸ’­ User Datagram Protocol (UDP)

πŸ’­ Transmission Control Protocol (TCP)

πŸ’­ Lecture

πŸ“˜ TIN: pp. 289 - 330 (Ch 11 - 12)

13 β€’ 25

Thu 11/14

πŸ— PROJECT DAY: Instructor Q&A/Assist

This is a time to get help working through remaining issues on your project assignments during class.

πŸ— Project

Come with your questions and frustrations ready.

14 β€’ 26

Tue 11/19

πŸ’­ Multiplexing & Sockets

πŸ’­ Dynamic Host Configuration Protocol (DHCP)

πŸ’­ Lecture

πŸ“˜ TIN: pp. 331 - 348 (Ch 13)

πŸ“˜ TIN: pp. 563 - 586 (Ch 22)

14 β€’ 27

Thu 11/21

πŸ’­ The Domain Name System (DNS)

πŸ’­ File Transfer Protocol (FTP)

πŸ’­ Lecture

πŸ“˜ TIN: pp. 587 - 636 (Ch 23 - 24)

15 β€’ 28

Tue 11/26

πŸ’­ Simple Mail Transfer Protocol (SMTP) & Email

πŸ’­ Hypertext Transfer Protocol (HTTP)

πŸ’­ Lecture

πŸ“˜ TIN: pp. 637 - 684 (Ch 25 - 26)

πŸ”— Network Failure Modes and Prevention: Application Layers

15 β€’ -

Thu 11/28

NO CLASS

πŸ¦ƒ Happy Thanksgiving!

16 β€’ 29

Tue 12/03

πŸ’­ Secure Socket Layer (SSL)

πŸ’­ Secure Shell (SSH) Remote Access

πŸ’­ Lecture

πŸ“˜ TIN: pp. 685 - 703 (Ch 27)

πŸ“˜ TIN: pp. 761 - 784 (Ch 30)

16 β€’ 30

Thu 12/05

πŸ’­ Network Address Translation (NAT)

πŸ’­ Firewalls

πŸ’­ IP Security (IPSEC)

πŸ’­ Lecture

πŸ“˜ TIN: pp. 785 - 830 (Ch 31 - 33)

17 β€’ F

Thu 12/12
4:30-6:30p

βœ… FINAL EXAM

πŸ— PROJECT DEMO

βœ… Exam

πŸ— Project

Study!

Complete your πŸ— Project!

πŸ“œ INSTRUCTOR'S POLICIES πŸ”

Participation/Behavior expected in class

Please maintain an atmosphere of respect toward others.

Attendance

By this point in your degree program, you should be able to manage your time appropriately and professionally. I expect you to be in class and to participate during every class period. Attendance is required and promptness is appreciated.

If there is a reason you must be absent, please arrange with the instructor in advance so that you can receive instruction for how to keep up with the material. Any absence not arranged with the instructor and approved in advance will result in a loss of the daily classtime participation grade. (See grading policy above.)

Absences from class will be excused only in accordance with the University Attendance Policy's required circumstances.

Please come to class on time and remain until class is dismissed.

Cell Phones

Cell phones must be turned off during class, unless being used to test project work.

Email

Students must check their Loyola email at least daily.

Late Work

As a professional, if you miss a deadline, there are consequences.

In this class, your instructor is available and happy to help you with any road blocks you encounter in the assigned work. Please start on the assignments early, and ask for help if you need it.

Project

For the project, you should treat assignment deadlines as professional project deadlines. Please do your best to complete all requirements before the deadline.

Notify the instructor as soon as you are aware of a delay in completion of project work. In many cases, your instructor may be able to assist you in getting past the difficult point in the completion of the assignment.

Even if you are not finished, please turn in what you have completed before the deadline.

If you wish to turn in another version following the deadline, you may, but you will not be eligible for any points for the assignment if nothing was turned in before the deadline.

Other Deadlines

For all other classroom activities, late work will not be accepted, subject to the exceptions below.

Excused Absence Policy and Documentation Requirement

The only exceptions to this classroom policy are for absences which fall under the University Attendance Policy.

Under that policy, excused absences require written documentation prior to the absence. Some excused absences related to health or mental health conditions may require documentation through the Office of Student Affairs or the Office of Disability Services.

In most cases, appropriate documentation consists of an email to the instructor at least 4 hours prior to the start of class, but preferably much earlier.

Failure to appropriately document such absences will result in zero points received for the assignments due during that class period, and zero points received for the daily participation grade.

Academic Integrity, Cheating and Plagiarism

In a professional setting, there are significant consequences for dishonesty and lack of integrity, including legal consequences, market reaction, and employer discipline or termination of employment.

As your instructor for this course, I have gone out of my way to ensure that you have a great opportunity to learn the course material in both theoretical and concrete ways. Your part in this learning effort is to do your own original work and give appropriate credit for legitimate help you have received.

In keeping with this, students are expected to maintain the highest standards of academic and professional integrity. Behavior that violates these standards is not acceptable.

Some examples of unacceptable behavior in this course are:

  • unauthorized or unattributed use of material you did not create or do not have the right to claim as your own (per U.S. Copyright Law)
  • communication with fellow students during any assignment, quiz or test that is not explicitly identified by the instructor as group work
  • attempting to benefit from the work of another student, including submitting the work of another student as your own
  • reusing work from a previous semester, even work you completed on your own
  • similar behavior that defeats the learning intent of any work assigned for this class, including assessments

Cheating on quizzes or examinations, plagiarism, improper acknowledgment of sources in essays, and the use of a single essay or paper in more than one course without permission are considered very serious offenses and shall be grounds for disciplinary action as outlined in the current bulletin. Agreement between the student and the faculty member that a violation has occurred, or no response from the student, will result in the assignment of a lower grade or an F to the test or assignment, or in the case of a serious violation, a lower grade or F for the course.

Dishonesty breaks trust, and will be taken very seriously.

In this course, if I suspect you are in violation of the University policy on Academic Honesty and Plagiarism in any way, whether on required assignments, exams, project work, extra credit assignments, or anything else related to this course, I will impose the highest penalty allowed.

  • If you remain in the course, you will not be eligible for any bonus or extra credit points on any grade remaining in the course, including the final grade.
  • Any extra credit points previously earned will be removed.
  • Because you have broken trust, I will be forced to reevaluate all other assignments to determine if I may have missed a possible violation. Appropriate action will be taken on every instance in which I suspect you of violating the University’s policy on Academic Honesty and Plagiarism.

For your benefit, the University policy on Academic Honesty and Plagiarism is available in the 2019 University Bulletin at http://2019bulletin.loyno.edu/academic-regulations/academic-honesty-and-plagiarism, including procedures associated with processing violations of the policy. Please read it and be familiar with it, as you will be responsible for ensuring your own compliance with it.

πŸ“œ GENERAL POLICIES πŸ”

View Part 2: General Policies (PDF) of the University at large

https://lorafacsec.loyno.edu/fac-bin/Syllabus--Part%20II.pdf