CSE333 Quiz 4

Open:   Wednesday, August 16 at 2:00 pm PDT
Closes:   Friday, August 18 at 11:59 pm PDT

Assignments Covered and Learning Goals

  • Exercise 10
    • Adapt client-side networking code (TCP) in C/C++.
    • Use the utility netcat (nc) to interact with clients over the network.
  • Exercise 11
    • Adapt server-side networking (TCP) in C/C++.
  • Exercise 12
    • Create a concurrent program with pthreads.
    • Use locks to make code thread-safe.
  • Homework 4
    • Create a concurrent web-server for clients to query.
    • Safely parse HTTP requests and send HTTP responses.
    • Act as a client for the modules built throughout the rest of the HW sequence.
    • Make use of C++ STL, Classes, Inheritance and other modules.
    • Manipulate pointers and manage dynamically-allocated memory.
    • Use debugging tools such as gdb and valgrind.
  • Course Learning Objectives
    • Write C/C++ code using pointers to create and manipulate complex data structures;
    • Debug significant C/C++ programs using GDB and Valgrind;
    • Read and write basic Makefiles;
    • Explain the process of making a system call;
    • Describe fundamental differences between C and C++;
    • Write programs that interact with files, directories, and the network using the POSIX library;
    • Write multi-threaded C programs using pthreads;
    • Display courage and perseverance, even in the face of complexity and uncertainty.
    • For additional information, please see the topics list on the syllabus.

Overview

On Gradescope, you will find reflection questions for each of the exercises and homework assignments completed thus far. As these are reflection questions, the reasoning and explanation matter more than the statement of a fact or opinion. Where possible, please try to be brief/concise while still getting your point across.

Course Reflection Questions

Also on Gradescope, you may find a few reflection questions on the goals and learning objectives of the course as a whole. The same rules and suggestions apply to these reflection questions.

Submission

Quiz 4 will be submitted on Gradescope. During the submission window, you may open, close, and submit the quiz as many times as you would like to; only your last submission will be graded.

You are to write up and complete each quiz on your own. We want the work you submit to be a representation of your own thoughts. However, we acknowledge that your peers are often one of the best resources for understanding concepts; therefore, we are allowing collaboration through the "Gilligan's Island Rule."