User Tools

Site Tools


Sidebar

projects

wcp1 (due 20240124)
pct0 (bonus; due 20240125)
pct1 (bonus; due 20240125)
abc0 (due 20240131)
pct2 (due 20240131)
spp2 (due 20240131)
wcp2 (due 20240131)
pct3 (bonus; due 20240207)
spp3 (due 20240207)
wcp3 (due 20240207)
pct4 (due 20240214)
spp4 (due 20240214)
wcp4 (due 20240214)
bwp1 (bonus; due 20240228)
pct5 (bonus; due 20240228)
spp5 (due 20240228)
wcp5 (due 20240228)
gfo0 (due 20240306)
pct6 (due 20240306)
spp6 (due 20240306)
wcp6 (due 20240306)
pct7 (bonus; due 20240313)
spp7 (due 20240313)
wcp7 (due 20240313)
pct8 (due 20240320)
spp8 (due 20240320)
wcp8 (due 20240320)
pct9 (bonus; due 20240327)
spp9 (due 20240327)
wcp9 (due 20240327)
bwp2 (bonus; due 20240410)
gfo1 (due 20240410)
pctA (due 20240410)
sppA (due 20240410)
wcpA (due 20240410)
pctB (bonus; due 20240417)
sppB (due 20240417)
wcpB (due 20240417)
pctC (due 20240424)
sppC (due 20240424)
wcpC (due 20240424)
pctD (bonus; due 20240501)
wcpD (bonus; due 20240501)
gfo2 (due 20240508)
pctE (bonus; due 20240508)
wcpE (bonus; due 20240508)
EoCE (due 20240516)
haas:spring2024:sysprog:projects:sppx

Corning Community College

CSCS2730 Systems Programming

Systems Programming Progress (sppX)

Objective

To immerse yourself in relevant and important aspects of library API, documentation, OS facilities, and other systems-level programming functionality, aided by the “Understanding UNIX/Linux Programming: A Guide to Theory and Practice” book that we will spend the semester exploring.

Task

Each week, throughout the semester, the aim will be to focus on a chapter in the book:

  • reading the chapter
  • discussing the chapter (in the class discord)
  • experimenting/playing with the content in your own code
  • identifying a UNIX tool or program you'd like to implement, making use of pertinent concepts (announce this in discord; where possible, I'd like each person to do a DIFFERENT thing)
  • implementing some UNIX tool or program that incorporates content covered in the given chapter (and where applicable, builds upon previous chapters). While not exclusively limited to programming problems at the end of each chapter, they are a good starting point (clear with me any deviations from that pattern).
  • code should include statement of limitations (what functionality does your code implement, what, especially compared to standard system tools, does it not implement)
  • no compiler notes, warnings, syntax errors, logical errors, or runtime errors (if there are compiler flags to issue, they should be clearly documented in the code/utilized in Makefile)
  • if you are implementing a UNIX tool (even if with only a subset of functionality), if it outputs in a certain way, or takes input in a certain way (as the core value of the tool), your implementation should, as best as possible, seek to conform with that structure of content.

The overall aim is to enable you to challenge yourself, explore areas and concepts you are not familiar with, and grow as a programmer and problem solver. I don't want to see you just doing things the way you are familiar with (simply because you've always done them that way).

The outline of semester progress:

week project chapter points per item (PTS) TOTAL
2 spp2 Chapters 1 and 2 1 13
3 spp3 Chapter 3 2 26
4 spp4 Chapter 4 2 26
5 spp5 Chapter 5 3 39
6 spp6 Chapter 6 3 39
7 spp7 Chapter 7 4 52
8 spp8 Chapter 8 4 52
9 spp9 Chapter 9 5 65
10 sppA Chapter 10 5 65
11 sppB Chapter 11 6 78
12 sppC Chapter 12 6 78
13-15 eoce Chapters 13, 14, 15
TOTAL:sppX:final tally of results (TOTAL/TOTAL)
*:sppX:read indicated chapter in book [PTS/PTS]
*:sppX:asked, responded, worked through any questions [PTS/PTS]
*:sppX:reveal of interesting insight, knowledge gained [PTS/PTS]
*:sppX:discussion regarding chapter content, library, system [PTS/PTS]
*:sppX:experimentation, playing reporting insights gained [PTS/PTS]
*:sppX:selection of UNIX tool or program to implement [PTS/PTS]
*:sppX:implementation of pertinent UNIX tool or program [PTS/PTS]
*:sppX:statement of limitations in code [PTS/PTS]
*:sppX:no warnings, compiler notes in code [PTS/PTS]
*:sppX:no syntax errors in code [PTS/PTS]
*:sppX:no logical errors in code [PTS/PTS]
*:sppX:no runtime errors in code [PTS/PTS]
*:sppX:duplicating similarly structured content in code [PTS/PTS]

Additionally:

  • Solutions not abiding by spirit of project will be subject to a 25% overall deduction
  • Solutions not utilizing descriptive why and how comments will be subject to a 25% overall deduction
  • Solutions not utilizing indentation to promote scope and clarity will be subject to a 25% overall deduction
  • Solutions not organized and easy to read (assume a terminal at least 90 characters wide, 40 characters tall) are subject to a 25% overall deduction
haas/spring2024/sysprog/projects/sppx.txt · Last modified: 2022/01/12 22:31 by 127.0.0.1