CS439: Principles of Computer Systems
Discussion Section 0 Problem Set
Due to Canvas on Friday, August 30, 2024, at 10:59p
Submit to the "Section 0" assignment.
-
Please fill out the welcome
survey.
-
Please review
the Code of Conduct for the course. Sign
it (either physically or electronically) indicating that you agree to abide by
this Code of Conduct, and upload the signed copy to the "Section 0" assignment on Canvas, along with your other responses to this problem set. (If you print it
to sign it, then upload a picture!)
-
On Canvas, you will find a quiz titled, Academic Integrity Quiz.
Complete that quiz. Multiple attempts are
permitted, but you must eventually get all questions right in order to receive
credit for your homework.
Thanks to John Thywissen, who created
this quiz and its accompanying presentation.
Please fill out your information in the CATME survey (a link will be sent to
your email on Thursday, 8/29)---this information will be used to create assigned
teams for Project 0 and problem sets. If you added the class late, please
find Alison to be added to CATME.
-
On the course website, navigate to the syllabus. Once you have found the
syllabus, find the section on pair programming, and read the paper "All I Really
Need to Know about Pair Programming I Learned in Kindergarten". After reading
that paper, write a seven sentence summary that contains all major points
of the paper.
-
Name three requirements for pair and group programming in CS439.
-
Write a linked list in C. You may choose the development environment of
your choice, but we highly recommend you choose an editor on Linux
(vi, emacs, sublime, ...) and compile
using gcc. (See the course home page for a brief introduction
to gcc.)
Your linked list nodes should be made of C structs, and each should contain
an integer (the data) and pointers to the next and previous nodes. Your program
should create a default list with 5 sorted nodes containing integers 1-5 and
also implement add() and remove() methods. The add()
method should insert a new node in sorted order. The remove() method
should remove a node.
How you test and design this code is up to you. There are no requirements
about dedicated head/tail nodes or not, etc. Turn in your solution by
cut-and-pasting it into a text file with the rest of your problem answers and
submitting it on Canvas.
|