Ryan Bensussan Harvey Instructor in Computer Science

COSC A319 Internet Technologies
Syllabus (Fall 2018)

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 software, and in particular, should be comfortable working with data structures, designing classes, and writing software modules.

πŸŽ“ 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.

πŸŽ“ 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
  • Know where to look for more information on the topics covered in this course

πŸ“š REQUIRED TEXTBOOKS πŸ”

πŸ“— 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. You do not need to purchase a printed copy of this textbook.

πŸ“˜ 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.

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.

πŸ“š RECOMMENDED TEXTBOOKS πŸ”

πŸ“™ 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 currently only available online. The online version is also interactive, allowing you to try out code and explore the output while you read.

Later this year, a print version should be available from No Starch Press. If you would like to purchase the book, you can get there from the book website.

πŸ“• 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.

At least one copy of this book will also be on reserve in Monroe Library for the duration of the semester.

πŸ’― GRADES πŸ”

The grading scale is the standard 10-point scale.

Letter Grade Percentage Range
A 93 – 100
A- 90 – 92
B+ 88 – 89
B 83 – 87
B- 80 – 82
C+ 78 – 79
C 73 – 77
C- 70 – 72
D+ 68 – 69
D 60 – 67
F 59 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

πŸ“œ GENERAL POLICIES πŸ”

Attendance

This is a course about being a professional. In order to do a professional job, you first have to be present. As such, attendance is required.

If there is a reason you must be absent, please arrange with the instructor in advance. 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.)

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

Cell Phones

Cell phones must be turned off during class.

Email

Students must check their Loyola email daily.

Late Work

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

Course Project

For major course projects, you should treat the instructor as your management. In many cases, with early notice of a delay in completion of work, project schedules can be adjusted to accomodate the delay. Managers who learn of a delay at or just before the deadline tend to perceive the employee as irresponsible, and may formally reprimand or even remove the employee from the project.

Notify the instructor as soon as you are aware of a delay in completion of project work, and you will have an opportunity to negotiate a new deadline, if possible. Please be aware that dependencies in subsquent deadlines in the project schedule may prevent such an accomodation.

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 Excused Absence policy.

Under that policy, excused absences require written documentation. Excused Absences due to illness have to be documented through the Office of Student Affairs or the Office of Disability Services.

Failure to appropriately document such absences will result in zero points received for the assignments due during that class period, and 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 2017 University Bulletin at http://2017bulletin.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.

Participation/Behavior expected in class

Please maintain an atmosphere of respect toward others.

University closure

At times, ordinary university operations are interrupted as a result of tropical storms, hurricanes, or other emergencies that require evacuation or suspension of on-campus activities. To prepare for such emergencies, all students will do the following during the first week of classes:

  1. Practice signing on for each course through Blackboard.

  2. Provide regular and alternative e-mail address and phone contact information to each instructor.

In the event of an interruption to our course due to the result of an emergency requiring an evacuation or suspension of campus activities, students will:

  1. Pack textbooks, assignments, syllabi and any other needed materials for each course ad bring during an evacuation/suspension.
  2. Keep up with course work during the evacuation/suspension as specified on course syllabi and on-line Blackboard courses.
  3. Complete any reading and/or writing assignments given by professors before emergency began.

Assuming a power source is available....

  1. Log on to university Web site within 48 hours of an evacuation/suspension.
  2. Monitor the main university site (www.loyno.edu) for general information.
  3. Log on to each course through Blackboard or e-mail within 48 hours of an evacuation/suspension to receive further information regarding contacting course instructors for assignments, etc.
  4. Complete Blackboard and/or other online assignments posted by professors (students are required to turn in assignments on time during the evacuation/suspension period and once the university campus has reopened.)
  5. Contact professors during an evacuation/suspension (or as soon as classes resume on campus) to explain any emergency circumstances that may have prevented them from completing expected work.

Further information about student responsibilities in emergencies is available on the Academic Affairs web site: http://academicaffairs.loyno.edu/students-emergency-responsibilities.

Disability Services and Accommodations

If you have a disability and wish to receive accommodations, please visit the Student Success Office in Marquette Hall 112 or email success@loyno.edu or call (504) 865-2990. Please note that before any accommodations can be implemented, you must obtain an official Course Accommodation Record from Disability Services for my signature.