Activities for Week 13

Final Exam

You have 120 minutes. There are a total of 9 questions totaling 120 points. This is for simplicity of time management, grades will be normalized to a score of 100 for final grade calculations. Have a code editor open for the coding question

Access

The exam will be accessible on Blackboard at 12/15 6:15PM

Be sure to start the exam within 5 minutes, the exam's content will stop loading after 125 minutes from the official start time.

Once completed, Don't forget to take the Post-Exam Affidavit, Your exam will not be graded until that is submitted. It should unlock automatically once you submit the final

Troubleshooting

If you have any technical difficulties, contact me immediately inside Blackboard Collaborate so I have a record of the incident and can help troubleshoot.

Final Projects

Final projects are due tonight, but there will be some leniency for those who have finished coding and only need to record their screencasts. Submit your code by tonight, and resubmit everything with the recorded screencast by at latest tommorow, 12/16 23:59:59. API selection form will be closed at midnight.

Quick Update

Midterm Exam 2 Graded

Curve is 10 Points, It is already included in your displayed grade. It'll show up as /110 due to how Blackboard calculates things.

Some students have reported difficulty seeing their grades, I've traced this to a caching problems with Blackboard and some browsers, most cases can be solved by using an incognito tab.

Final Exam Information

Exam is scheduled for Tuesday 12/15 from 6:15PM - 8:15PM

Course Evaluations

If you haven't done so already, please consider submitting a course evaluation. They are anonymous and help shape the future offerings of this course.

Submit an Evaluation

Activities for Week 12

Domain Name System (DNS)

Current Planned Timeline

  • ✅ 12/07: Final Exam: Study Guide (text)
  • ✅ 12/08: Exam 2 Grades ETA (Currently 60% Graded)
  • ✅ 12/11: Assesment 04 Solution (video) Please attempt assessment before solution is posted
  • ☐ 12/15: Final Exam (6:15 - 8:15pm)
  • ☐ 12/15: Final Project Due (11:59pm)
  • ☐ 12/23: Grades Posted
    From 12/15 - 12/23: Email responses will be infrequent as I'll be deep into grading before the deadline hits. Try to contact me before this week if possible.

Office Hours

I'll be offering additional office hours Monday, Wednesday, and Thursday this week. At the start of each session I will first go over Exam 2, before taking any questions you may have.

  • Monday 12/07: 5 – 7pm (Open)
  • Wednesday 12/09: 5 – 7pm (Open)
  • Thursday 12/10: 5 – 7pm (Open)
  • Friday 12/11: 5 – 6pm (Open) 6 – 8pm (Reservations)

Access: https://us.bbcollab.com/guest/d7f17cffcbf34acb91acde5978d4c9b9

  • Open Office Hours
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours
    (Reservation Required, Guaranteed Slot)

Quick Update

Office Hours

  • Monday 11/30: 5 – 7PM
  • Friday 12/04: 5 – 6PM (Open) 6 – 8PM (Reservations)

Next week I'm experimenting with doing additional Monday office hours to help students get unstuck earlier. Please note you can always email me if times are inconvenient and if I can't answer your question in email form, I can schedule additional office hours.

Access: https://us.bbcollab.com/guest/d7f17cffcbf34acb91acde5978d4c9b9

  • Open Office Hours
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours
    (Reservation Required, Guaranteed Slot)

Assessment 4 and Final Project

Assessment 4 tests your knowledge of the HTTP protocol and third-party API's. It is ungraded, but similiar questions are likely to show up on the final exam.

The Final Project builds on top of Assesment 4 and is worth 30% of your grade. It is recommended you complete week 11's lectures and assessment 4 before attempting. You have a bit over three weeks to complete everything, a full countdown is available on assessment.

Final Exam

The Final Exam is scheduled for Tuesday, December 15th 6:15PM - 8:15PM for all sections. If you have a conflict, send me an email before December 5th including a screenshot of your CUNY First Schedule and I will schedule an earlier make up.

Course Evaluations Begin 11/24

It's your chance to vent any complaints and grievances. The numbers I mostly ignore (Is a 3/5 bad or average?), but the comments I take very seriously. They are incredibly useful in showing me where students are struggling, as well as identify personal weaknesses in my teaching. Each semester I try to make changes to account for my personal shortfalling in the previous semester, but unfortunately only future cohorts are affected. I won't see these until much later in Feburary 2021, so if it's something I should fix right away email me instead.

Submit an Evaluation

CUNY Tech Prep Recruitment

CUNY Tech Prep is recruiting students for their 2021-2022 program
Apply Here

Activities for Week 11

Office Hours

  • Thursday 11/19: 5 – 7PM Send me an email and I can schedule additional hours
  • Friday 11/20: 5 – 6PM (Open) 6 – 8PM (Reservations)

Access: https://us.bbcollab.com/guest/2b345435ec5f42edb2b13009e22d4e1f

  • Open Office Hours
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours
    (Reservation Required, Guaranteed Slot)

Quick Update

Full update is scheduled for Wednesday

Academic Integrity Incident

During my initial scan of the exams, a small group of students were caught cheating by submitting answers for questions not assigned to them.

6 of the 20 possible versions of this question

As stated in the Syllabus, I have a zero tolerance policy to any form of academic dishonesty. These students will be removed from the course with a failing grade, and I have begun the process of filing an academic integrity report with the Office of Student Conduct.

I post this here to let the rest of the class know that I will do my best to ensure academic integrity is maintained despite being online. The course average and subsequently exam curves should solely reflects the time and effort students spent on studying the material and not who they are friends with. If you are studying in a group that is fine, but make sure to avoid the temptation of asking others for help during exams.

I suspect the same group also worked together on Midterm 1, and as their actions may have harmed the overall class average, I will increase the curve for Midterm 1 from 10 to 11 to adjust for this. These values will be updated in a few weeks at the same time that grades for Midterm 2 post.

Activities for Week 10

Midterm Exam 2

Like the previous exam, you have 100 minutes. There are a total of 7 questions totaling 100 points. Have a code editor open for the coding question, and a sheet of scrap paper for the routing problem.

Access

The exam will be accessible on Blackboard once your official class time starts

Be sure to start the exam within 5 minutes of your official class start time, the exam's content will stop loading after 105 minutes from your official start time.

Once completed, Don't forget to take the Post-Exam Affidavit, Your exam will not be graded until that is submitted. It should unlock automatically once you submit the midterm

Troubleshooting

If you have any technical difficulties, contact me immediately inside Blackboard Collaborate so I have a record of the incident and can help troubleshoot.

Activities for Week 9: (Not on the Midterm 2)

Midterm 2 Information

Moved this up for visibility, no changes

Exam dates are 11/10 for T/Th sections and 11/11 for M/W sections (during your normally scheduled class).

Current Planned Timeline

  • ✅ 10/31: Exam 2: Study Guide (text)
  • ✅ 11/02: TCP Lecture Recording [Transcript available now] (video)
  • ✅ 11/04: Week 9 Content (Not on Exam 2)
  • ✅ 11/10: Exam 2: T/Th
  • ✅ 11/11: Exam 2: M/W
  • ☐ 11/16: Assesment 03 Solution: Please attempt assessment before solution is posted

Office Hours

I'll be hosting additional open office hours today, Thursday 11/05 5-7PM in addition to Friday Office Hours

Access: https://us.bbcollab.com/guest/0f3ee2fe9fd3413ba6aba30f0d9ab30c

  • Open Office Hours: 5:00-7:00pm
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours: 7:00-8:00PM
    (Reservation Required, Guaranteed Slot)
-Raymond

Activities for Week 8

Transport Layer

The transport layer lecture is very theoretical, assessment three in contrast is very hands on. They are designed to compliment each other, as you see specific parts of the TCP/IP header with WireShark. The programming aspects of this assesment (socket programming) will not be on the second midterm, but doing it will help solidify the theoretical TCP concepts that will be on the exam. (It gives you examples that you can cite should you need to explain a certain concept in TCP)

Socket Programming may appear on the final. (You will not be asked questions about WireShark however, as it is just an analysis tool)

Routing

11/05: Reuploaded video with minor correction, doesn't change the final output, but got some emails about it, nice catch.

Midterm 2 Information

Due to the delay in week 8 material, I am postponing the second midterm exam by one week. The new scheduled dates will now be 11/10 for T/Th sections and 11/11 for M/W sections (during your normally scheduled class).

This should ensure at least one week of time to consume all exam topics.

If you would prefer the original date, you may send me an email to take it at the originally scheduled time. Please send this request by Saturday 10/31, so that I can accomdate you.

Office Hours

If you missed last weeks exam review, I don't mind going over specific questions this week too. If the reserved hours fill up, email me and I can schedule something over the weekend

Access: https://us.bbcollab.com/guest/198bc04579cc4d85913eb9ac1238d319

  • Open Office Hours: 5:00-7:00pm
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours: 7:00-8:00PM
    (Reservation Required, Guaranteed Slot)
-Raymond

Quick Update

Full update is scheduled for Wednesday, but I wanted to get this out, since it's late by a day

Activities for Week 7

Office Hours

In observance of Jewish Holidays, Office hours will be held two hours earlier.

Access: https://us.bbcollab.com/guest/47c287e34bd84c86953ae8edb5079a50

  • Open Office Hours: 3:00-4:00pm
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours: 4:00-6:00PM
    (Reservation Required, Guaranteed Slot)
-Raymond

Quick Update

Midterm Exams Graded

Curve is 10 Points, It is already included in your displayed grade. It'll show up as /110 due to how Blackboard calculates things.

Stats, Common Mistakes, and Feedback

Week 8 Delayed

Our next topic will be the Transport Layer. I'll be using this week to clean up the lecture transcript and catch up on missing recordings. In terms of content, we are a bit ahead of schedule, so this won't effect us much. Please utilize the extra time to ensure that you understand the most recent lectures and assessments. This is especially true to those who had trouble with the programming question on the exam, please spend more time on the assesments. If something is unclear send me an email, I am happy to clarify.

I'll make a more detailed post about common mistakes on exam 1 once everything is graded, but many students were tripped up by the programming question. If you used a loop in your solution, it was likely incorrect, as synchronous execution requires recursion. (See Lecture 6: N Domains Synchronously and Assessment 1 Exercise 2)

Timeline

  • ✅ 10/23 Routing Protocols Recording
  • ✅ 10/25 Assessment 2: Solution Recording (No Transcript)

Office Hours

I'll go through the exam starting at 5PM. I'm anticipating higher turnout, due to exam related questions and will allocate some more time for open office hours. If the reserved hours fill up, email me and I can schedule something over the weekend

Access: https://us.bbcollab.com/guest/07abb48d71d2467db30ae9b971ff9f33

  • Open Office Hours: 5:00-7:00pm
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours: 7:00-8:00PM
    (Reservation Required, Guaranteed Slot)

Activities for Week 6

Midterm Exam Grading Progress

Roughly 10% of Midterm 1 Exams have been graded. Grades will be posted on Blackboard once they've all been graded, ETA for release is 10/19. I will keep you updated.

Office Hours

In observance of Jewish Holidays, Office hours will be held two hours earlier.

Access: https://us.bbcollab.com/guest/dede110a72cd4ac3bf2e7ffd9219faea

  • Open Office Hours: 3:00-4:00pm
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours: 4:00-6:00PM
    (Reservation Required, Guaranteed Slot)
-Raymond

Activities for Week 5

Midterm Exam 1

Access

At least one student had an issue with an exam questions not loading, refreshing the page should fix that. It does not affect your submission.

Exam will be accessible on Blackboard once your official class time starts

Once completed, Don't forget to take the Post-Exam Affidavit, Your exam will not be graded until that is submitted. It should unlock automatically once you submit the midterm

Troubleshooting

Frequently Asked Questions

What time is the exam? I have a conflict during that time with another class.

The exam dates are on your syllabus, the time is during your normally scheduled class so a conflict is impossible. Do not look at the Monday/Wednesday syllabus if you are in the Tuesday/Thursday section.

Will we be required to use webcams?

No

How detailed do you want answers?

Detailedness is not something measurable. The exam will have 100 points and there will be 100 minutes to complete the test. I'd recommend spending no more than the point value in minutes per question.

If a question is worth 10points, answer as detailed as you can within a 10 minute constraint. I also recommend keeping your phone on the side to set up timers to let you know when you should move on.

Can we use the code that you've supplied us?

Yes

If the explanation is based on the lecture/lecture notes, should we quote it?

You do not need to quote any material that I've created.

You should quote and cite if it's from a third party resource that I've linked, (There is no "penalty" for not doing this, but you are more likely to get full credit right away if your referencing the correct resource, instead of having me play detective on what you meant)

For other resources not listed on my website, (eg. found via search on google) you must paraphrase it and cite your sources. I would avoid this if possible as I haven't vetted those resources and if turns out incorrect, you will be penalized.

Are you really in our WeChat/Discord groups?

Yes, please follow course guidelines when chatting with fellow students and definitely don't do it during exams. I do not require students to install intrusive software or have webcams, but I take academic integrity very seriously.

Activities for Week 4

Office Hours

Access: https://us.bbcollab.com/guest/120a50d0b98b48069fb7c3e46d7dccaa

  • Open Office Hours: 5:00-6:00pm
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours: 6:00-8:00PM
    (Reservation Required, Guaranteed Slot)
-Raymond

Activities for Week 3

This weeks topic is Asynchronous Programming. It is fundamentally important to this course, it is also one of the hardest topics. Please allocate sufficient time to run all the demos and watch the supplemental videos.

Once you have finished running all the demo's try to complete the assesments. Your exams will each contain similiar programming problems, so it's important to complete them.

If you have any problem running the code or questions on the materials, reach out to me as soon as possible.

The code for the topic Going from Concurrent to Synchronous was using the wrong file, this has been fixed, take a few minutes to review the updated code.

Office Hours

In observance of Jewish Holidays, Office hours will be held two hours earlier.

Access: https://us.bbcollab.com/guest/eb30c51acac2439d891c6cd3b5cc0599

  • Open Office Hours: 3:00-4:00pm
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours: 4:00-6:00PM
    (Reservation Required, Guaranteed Slot)
-Raymond

Activities for Week 2

Closures

During editing I noticed that the debug output was particularlly small, I've fixed this for the future, but for this demo you will have to run the code yourself to see the output. (which you should do anyways!)

VOE Exam

I've gotten a few emails about student's missing the VOE Exam on Blackboard. Since I've got a few days until VOE's are due, and part of the goal of this assignment is familiarize yourselve's with the format of course exams, I'm pushing the availability until this Friday [2020/9/11 11:59:59]. Do be more careful in the future, I have no intention to do this for exams that are part of your grade.

Office Hours ()

Access: https://us.bbcollab.com/guest/64e76737ea404989acac0b748d6e933c

  • Open Office Hours: 5:00-6:00pm
    (No Reservation Required, First Come First Served, No Guaranteed Slot)
  • Reserved Hours: 6:00-8:00PM
    (Reservation Required, Guaranteed Slot)

The data link layer video took a bit longer than expected due to the 24 minute length of the final editted recording. You will always have at least a week to digest material, before I consider it viable for any exams. In this way I try to never penalize students for delays on my part

I've received some comments about volume issues of the previous videos, I've ordered some new recording equipment which should be delivered by next week.

-Raymond

Activities for Week 1

Course Introduction

JavaScript Basics

This course will utilize JavaScript as our programming language. While there will be one lecture explaining the basic syntax, it is important that you put in some practice to learn the syntax.

freeCodeCamp is the gold standard in this regard to getting students quickly up to speed.

I'd recommend completing as many of the Basic JavaScript and ES6 demos as possible. Feel free to skip around, many of the earlier demos can feel a bit patronizing with how simple they are. Next week we will begin looking at more complex features of JavaScript - specifically closures and asynchronous programming, so make sure you are familiar with the syntax.

Office Hours

Access: https://us.bbcollab.com/guest/d7f17cffcbf34acb91acde5978d4c9b9

  • Open Office Hours: 5:00-8:00pm
    (No Reservation Required, First Come First Served, No Guaranteed Slot)

If you have any questions, please read the email FAQ first, to understand my prefered format, but don't hesitate to contact me.

Verification of Enrollment Practice Test should be available on Blackboard (Under Exams), Make sure to read the syllabus first before taking it.

-Raymond

Activities for Week 0

Welcome to CS 355

If you are reading this you area bit ahead of the class. Classes officially start on August 26th and to avoid needing to keep track of which students were emailed and last minute registerations, I won't be contacting students via email until the 26th.

Currently all the documents are in a state of flux as I start my scripting and recording process for each of the lectures. Many documents will disappear from the website as I reset the course from the previous semester, but most of them will come back as the weeks progress to ensure students are not overloaded.

Once the semester starts you should expect a total of 14 weekly posts similar to this, but included will be a list of required readings, videos, assessments, and other content to consume.

Please hold any questions that you may have until August 26th. The syllabus which is currently going through department approval will be uploaded by then and should answer most of the questions (including all questions related to grading). This allows me to focus my time and effort into creating content to ensure the course kicks off successfully.

This course is built around Open educational resources (OER). Both of the required textbooks are free and available on the Course Materials page.

I wish you the best and hope you find this course enjoyable.

-Raymond

Welcome to CS 355: Internet and Web Technologies

This course is an introduction to the technologies behind the Internet and World Wide Web directed toward computer science majors. We will be taking a deep dive into the TCP / IP Model. Learning the protocols on each layer and how they interact with each other. We will look at various protocols at each layer, understand their purpose, data structures and underlying algorithms.

TLS and HTTPS will be coverd, we will explore the security protocol's used on the web and how data encryption works over hostile channels. We will learn the technology behind Virtual Private Network and how anyone can use this technology to stretch their local networks across the globe.

On the programming-end we will be using JavaScript. We will explore functional, asynchronous, and event-driven programming. We will learn about class-free object oriented programming, as well as write code for both TCP and HTTP servers using the Node.js runtime environment.

We will be creating web applications and exploring the Representational State Transfer software architectural style to both consume and create RESTful APIs. We will discuss caching techniques and see how they can be applied not just for it's performance benefits, but improved reliability as well.

My Teaching Philosophy is influenced heavily by Cal Newport (Deep Work, Digital Minimalism). I like system solutions; tools and resources that I can build once and reuse indefinitely. The core of my work revolves around creating content and giving lectures for each of my classes. Things that distract me from this I try to either automate away, delegate to a specialist, or minimize from my life with rules.

In graded assignments I make use of rubrics to telegraph my expectations to students. I try my best to create questions that can be self-assessed, so students can actively track their performance.

As a rule I do not extended due dates as it creates unwanted work for me. I treat grading assignments the same way sanitation worker's treat picking up trash; something clearly unpleasant, but part of the job. Accepting work past the cutoff however, is not part of my job description.

Under the course material, I've set up an E-mail FAQ which I advise all students check before contacting me as I hope to resolve your questions as fast as possible. Each additional round of emails is not just more work for me, but downtime for students as they wait for my response, so it's in the best interest of students to be as detailed as possible. I try not to look at my email too often, as my time is better spent creating content, so factor in up to 24 hours for each response.

I wish you the best and hope you find this course enjoyable.

-Raymond