User Tools

Site Tools


Sidebar

projects

pct0 (bonus; due 20230823)
wcp1 (due 20230823)
abc0 (due 20230830)
pct1 (bonus; due 20230830)
pct2 (due 20230830)
wcp2 (due 20230830)
dac0 (due 20230906)
pct3 (bonus; due 20230906)
wcp3 (due 20230906)
gtf0 (due 20230913)
pct4 (due 20230913)
wcp4 (due 20230913)
pct5 (bonus; due 20230920)
tpb0 (due 20230920)
wcp5 (due 20230920)
gfo0 (due 20230927)
pct6 (due 20230927)
tpb1 (due 20230927)
wcp6 (due 20230927)
pct7 (bonus; due 20231004)
tpb2 (due 20231004)
wcp7 (due 20231004)
bwp1 (bonus; due 20231018)
pct8 (due 20231018)
usr0 (due 20231018)
wcp8 (due 20231018)
fwg0 (due 20231025)
pct9 (bonus; due 20231025)
wcp9 (due 20231025)
gfo1 (due 20231101)
pctA (due 20231101)
upf0 (due 20231101)
wcpA (due 20231101)
pctB (bonus; due 20231108)
usf0 (due 20231108)
wcpB (due 20231108)
ldg0 (due 20231115)
pctC (due 20231115)
wcpC (due 20231115)
bwp2 (bonus; due 20231129)
pctD (bonus; due 20231129)
wcpD (bonus; due 20231129)
gfo2 (due 20231206)
pctE (bonus; due 20231206)
wcpE (bonus; due 20231206)
EoCE (due 20231214)
haas:fall2023:unix:projects:abc0

Corning Community College

CSCS1730 UNIX/Linux Fundamentals

PROJECT: Already Beginning Concepts (ABC0)

OBJECTIVE

To get started on the course and semester. Bootstrap your access and configuration of various resources, following instructions, contributing to documentation, and asking questions in the discord.

EDIT

You will want to go here to edit and fill in the various sections of the document:

ABC0 documentation

Tasks

Get on discord and into class channels
Step 1. open Email invite

Step 2. Sign in User/Password.

Step 3. Click into Unix/Linux
Log into Lab46 (shell)

Step 1. ssh /userID@lab46.97n.org

Step 2. Password- StudentID

Clone lab46 semester repo on lab46

You can accomplish this by running fixrepo at the lab46 prompt:

lab46:~$ fixrepo

and follow and instructions, respond to any actions requested.

Log into Lab46 wiki

step 1: open shell / ssh (schoolUser)@lab46.g7n.org

step 2: password: School ID

Step 3 : Successful Login

Set up personal development system
Clone lab46 semester repo on your system

FOR PI ONLY

Firstly: sudo apt install piph

Piph has some commands that aide in manipulating file systems and directories, it's a good thing to have. (Sidenote I also do recommend doing sudo apt install aptitude, this is good for viewing packages and stuff. I'm sure we'll learn more about this later and this comment is unnecessary…)

Once you have piph installed, the command below will clone the repo onto your system (NO SPACES)

wget - q https://lab46.g7n.org/~wedge/piph/download -Opiph bash./piph

Then, do an hg status, then hg pull and hg update.

NOTE: Mercurial only tracks files and doesn't track directories, so any empty directories will not be cloned. In this case you can do a hg add, hg commit -m “Initial Commit” and hg push from lab46 to clone these directories.

FOR NON PI:

Create info.text file with information

cat > info.txt

Name, email, discord, and any other information.

Create and run a basic "Hello World" C program

cat > hello.c

#include <stdio.h> int main(){ printf(“Hello, World!”); return 0; }

The header stdio.h stands for STandarD Input and Output. cool acronym !!!!!!!!!!!!!!!!!!! wow

return 0; is also important. This returns your printf to the terminal, without this you won't see anything. I think.

Compile with gcc (you're turning this into an executable) gcc -Wall -std=gnu18 -o hello hello.c

Simpler version: gcc hello.c -o hello

Unsure what the difference between these two are. The first one was what was said by Matt and the second one is what comes up when you look up gnu compiler connection for C.

Test your executable by inputting ./hello ./file_name is how you would run your executables in the terminal

Submit your info file and your uncompiled C program using the "submit" command in Lab46
Locate journal and customize title and intro

Step 1. locate Lab 46

Step 2. Login/password

Step 3. lefthand side of page, under content, Open “Journal”

Step 4.

 

SUBMISSION

To be successful in this project, the following criteria (or their equivalent) must be met:

  • Project must be submit on time, by the deadline.
    • Late submissions will lose 33% credit per day, with the submission window closing on the 3rd day following the deadline.
  • All code must compile cleanly (no warnings or errors)
    • Compile with the -Wall and –std=gnu18 compiler flags
    • all requested functionality must conform to stated requirements (either on this document or in a comment banner in source code files themselves).
  • Executed programs must display in a manner similar to provided output
    • output formatted, where applicable, must match that of project requirements
  • Processing must be correct based on input given and output requested
  • Output, if applicable, must be correct based on values input
  • Code must be nicely and consistently indented
  • Code must be consistently written, to strive for readability from having a consistent style throughout
  • Code must be commented
    • Any “to be implemented” comments MUST be removed
      • these “to be implemented” comments, if still present at evaluation time, will result in points being deducted.
      • Sufficient comments explaining the point of provided logic MUST be present
  • No global variables (without instructor approval), no goto statements, no calling of main()!
  • Track/version the source code in your lab46 semester repository
  • Submit a copy of your source code to me using the submit tool (make submit on lab46 will do this) by the deadline.

Submit Tool Usage

Let's say you have completed work on the project, and are ready to submit, you would do the following:

lab46:~/src/SEMESTER/DESIG/PROJECT$ submit DESIG PROJECT file1 file2 file3 ... fileN

You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches.

RUBRIC

I'll be evaluating the project based on the following criteria:

13:abc0:final tally of results (13/13)
*:abc0:submitted information for project by duedate [3/3]
*:abc0:got situated in and used class discord [3/3]
*:abc0:contributed to project documentation [3/3]
*:abc0:committed project related changes to semester repo [4/4]

Pertaining to the collaborative authoring of project documentation

  • each class member is to participate in the contribution of relevant information and formatting of the documentation
    • minimal member contributions consist of:
      • near the class average edits (a value of at least four productive edits)
      • near the average class content change average (a value of at least 128 bytes (absolute value of data content change))
      • near the class content contribution average (a value of at least 1kiB)
      • no zero-sum commits (adding in one commit then later removing in its entirety for the sake of satisfying edit requirements)
    • adding and formatting data in an organized fashion, aiming to create an informative and readable document that anyone in the class can reference
    • content contributions will be factored into a documentation coefficient, a value multiplied against your actual project submission to influence the end result:
      • no contributions, co-efficient is 0.50
      • less than minimum contributions is 0.75
      • met minimum contribution threshold is 1.00

Additionally

  • Solutions not abiding by spirit of project will be subject to a 50% 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 or otherwise maintaining consistency in code style and presentation 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/fall2023/unix/projects/abc0.txt · Last modified: 2023/08/16 21:28 by 127.0.0.1