User Tools

Site Tools


haas:spring2015:unix:projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
haas:spring2015:unix:projects [2014/12/08 16:59] – external edit 127.0.0.1haas:spring2015:unix:projects [2015/04/19 14:01] (current) – [Projects] wedge
Line 6: Line 6:
  
 ======Projects====== ======Projects======
-  * [[/haas/fall2014/unix/projects/intro|intro]] (due 20140903+  * [[/haas/spring2015/unix/projects/uxi0|uxi0]] (due 20150128
-  * [[/haas/fall2014/unix/projects/resume|resume]] (due 20140903+  * [[/haas/spring2015/unix/projects/arc0|arc0]] (due 20150204
-  * [[/haas/fall2014/unix/projects/notes|notes]] (on-going+  * [[/haas/spring2015/unix/projects/pbx0|pbx0]] (due 20150211
-  * [[/haas/fall2014/unix/projects/archive_handling|archives]] (due 20140917+  * [[/haas/spring2015/unix/projects/pbx1|pbx1]] (due 20150225
-  * [[/haas/fall2014/unix/projects/puzzle_box|puzzlebox]] (due 20140924+  * [[/haas/spring2015/unix/projects/udr0|udr0]] (due 20150311
-  * [[/haas/fall2014/unix/projects/puzzle_box2|puzzlebox2]] (due 20141001+  * [[/haas/spring2015/unix/projects/udr1|udr1]] (due 20150318
-  * [[/haas/fall2014/unix/projects/dataproc|dataproc]] (due 20141022+  * [[/haas/spring2015/unix/projects/udr2|udr2]] (due 20150408
-  * [[/haas/fall2014/unix/projects/statuscalc|statuscalc]] (due 20141119+  * EoCE - bottom of Opus (due 20150514 by 4:30pm
-  * [[/haas/fall2014/unix/projects/timeonline|timeonline]] (due 20141218-172959)+ 
 + 
 + 
  
  
-======Week 13====== 
-  * 12/08/2014 11:45am - UNIX projects, attendance, and opus entries have been updated! Be sure to check **status** output to verify everything is in order. 
-    * if I missed anything (especially notes project entries you might have done for bonus), shoot me an e-mail and let me know the date(s), so I can record them appropriately. 
-    * as I had to update week 12 opus entries due to my "week after break" bug, everyone had plenty of time to get their opus entries up to date. At this point I am considering the window for updating past opus entries for credit to be **closed**. Note that you still have one Opus entry remaining, for week 13 (due before it is Tuesday). 
-    * all projects prior to the **statuscalc** project have been closed to submissions; they are sufficiently late at this point so as not to get any credit. 
-    * the **statuscalc** project itself is getting a little long in the tooth; it may still be open, but there will be considerable late penalties applied- the aim is to get everyone focused on **timeonline** and the **eoce**. 
-  * Reminder: if you have any borrowed books from the LAIRbrary, be sure to return them before the end of the semester! 
  
 ======Week 12====== ======Week 12======
-  * Unveiled EoCE... from this point on it will be "work on stuff" time; +  * EoCE(s) have been deployed to your OpusCheck there (be sure you are signed in to the wiki, otherwise it will not show up). The link and project page here will not longer be active. 
-    * no attendance will be recorded after the 12/02/2014 class +  Reminder: no class this Tuesday (April 21st, 2015) as I will be away at a conference. 
-    one more Opus entry will be recorded+  Please do keep e-mailing me questions.
  
 ======Week 11====== ======Week 11======
-  * Congratulations to **user** for winning the Week 10 bonus point drawing +  * I have put together the End of Course Experience (EoCE) for the class. This is your final assigned project for the class (and is assigned in lieu of a final exam). When I finish all the other EoCEs for my other classes, the project link above will disappear, and your pertinent EoCE(s) will appear at the bottom of your Opus (so when it disappears from here look there). 
-  * Class notes roles for **[[/notes/unix#section11112014|11/11/2014]]** class: +    * It is open resource, but closed person. 
-    * author: **user** +    * You are expected to work on this by yourself (you may ask me for clarification). 
-    * designer: **user** +    * It, along with anything else outstanding that you'd like to receive credit for (even if just for consideration), please have submitted to me in the proper places by 4:30pm on Thursday, May 14th, 2015.
-    * reviewer: **user** +
-    * Be sure to check the notes project for role-specific deadlines. +
 ======Week 10====== ======Week 10======
-  * Congratulations to **mquesad1** for winning the Week 9 bonus point drawing +  * A couple people have experienced problems updating their Opus (a failure "cannot reach" type of page appears, as if the connection was dropped). As best as I've been able to tell, this is some sort of upstream issue, possibly with a content filter (it only seems to impact the UNIX class, or people talking about scripting and providing syntax, and has been occurring about this time in the semester for more than a few semesters now). We spent some time talking about how to establish an ssh tunnel to piggyback opus-oriented traffic onto your existing ssh connection. 
-  * Class notes roles for **[[/notes/unix#section11062014|11/06/2014]]** class+  * Covered signals and process management, looking at
-    * author: **tiwari1*+    * ps 
-    * designer: **acarson1** +    jobs 
-    * reviewer: **ssmit133** +    * top 
-    * Be sure to check the notes project for role-specific deadlines. +    * whowatch 
-  * Class notes roles for **[[/notes/unix#section11042014|11/04/2014]]** class: +    * kill 
-    author: **cclay** +    jobs/fg/bg/CTRL-z 
-    * designer: **dshadeck** +      you can attempt to launch a job in the background by suffixing an '&' to the end of the command-line 
-    * reviewer: **vgarfiel1** + 
-    * Be sure to check the notes project for role-specific deadlines.+======Week 9====== 
 +  * **udr2** has been extended over break. It has been positively confirmed that asking questions and spending time playing with these concepts leads to successat least one person has completed **udr2**. 
 +    * I made a tweak to **bgrep** to allow for better start of address reporting on displayed results. Let me know if anything seems out of whack.
  
 ======Week 8====== ======Week 8======
-  * Congratulations to **tmosgrov** for winning the Week 7 bonus point drawing +  * **udr2** is out.. continuing our data recovery and exploration theme, we enter the realm of data acquisition and analysis. 
-  * Class notes roles for **[[/notes/unix#section10212014|10/21/2014]]** class: +    * As I've said all along, the sooner you start on this, the better. 
-    * author: **ahoover3** +    * So far, nobody who hasn't asked me questions has gotten through udr1 on their own... not that it is hard, we just make it hard (mental blocks). I've been e-mailing back and forth with the successful project performers since before the weekend. Just saying..
-    * designer: **rhenggel** +  * The big stumbling block is conceptual: not understanding the difference between text and binary data (not understanding that all text is binary data, but not all binary data is text). Not realizing that one cannot effectively use text processing tools on non-textual binary data (cringe everytime I see someone straight catting or nanoing/vi'ing data.file)... 
-    * reviewer: **jjacobs7** +    * Reading through the project (heckreading in generalis important. 
-    * Be sure to check the notes project for role-specific deadlines+
-  * I'd like to give a knowledge assessment next Thursday (October 30th2014covering what we've learned via class up to that point.+
 ======Week 7====== ======Week 7======
-  * Congratulations to **ahoover3** for winning the Week 6 bonus point drawing +  * **udr1** is out! It continues our UNIX file innards explorations, along with providing you an opportunity to review UNIX file permissions
-  * Class notes roles for **[[/notes/unix#section10092014|10/09/2014]]** class: +  * Once again, the intent is to get people to ask more questions.
-    * author: **nsano** +
-    * designer: **jcliteur** +
-    * reviewer: **stiwari1** +
-    * Be sure to check the notes project for role-specific deadlines+
-  * dataproc project deadline extended until after break. Those who submit it by original due date will receive a bonus point.+
 ======Week 6====== ======Week 6======
-  * Congratulations to **tmosgrov** for winning the Week 5 bonus point drawing +  * Class was canceled? Yeah, campus closed, apparently- although you wouldn't have known that by the dedicated group that hung around for the typical class time. We cleared up a few questions on **udr0**, and then reviewed wildcards again, and started exploring some organizational aspects of **C**. 
-  Class notes roles for **[[/notes/unix#section09302014|09/30/2014]]** class: +  The big problem with **udr0** was that people didn't know where to start. Very few (ie 2) actually took my advice and asked questionsI designed this assignment to force you to ask questions. Instead, all I got was a lot of panic that people didn't know where to start. So if you hadn't asked me questions, you were effectively making the project far more difficult. 
-    author: **ssmit133** +    * I identified 2 typos (they actually didn't seem to stop a fair number of people), and have issued corrections and a memdump file update. Check the assignments page for details
-    designer: **avolino** +    I have extended the deadline for **udr0** by a week, to enable everyone the chance to successfully tackle this project. PLEASE, don't let other people tell you how to do it. 
-    * reviewer**ddewert1** +  It was brought to my attention that the manual pages for **gcc** and related commands had NOT been installed on lab46! This grievous error has now been rectified. You may now peruse the seemingly endless pages of gcc options to your heart's content.
-    * Be sure to check the notes project for role-specific deadlines+
-  Class notes roles for **[[/notes/unix#section10022014|10/02/2014]]** class: +
-    author: **cclay** +
-    * designer: **dsoutha3** +
-    * reviewer: **nvitull1**+
  
 +C code to display "Hello, World!" followed by a newline, to STDOUT:
 +
 +<code c 1>
 +/* hello.c - a UNIX-style "Hello, World!" program
 + *
 + * To compile: gcc -o hello hello.c
 + * To execute: ./hello
 + */
 +#include <stdio.h>  // referencing the C library; stdio is the standard I/O operations
 +
 +int main() // everything needs a starting point, in C, that is a function called main()
 +{ // when you have a group of statements, wrap them in a code block using the curly braces
 +        int     = 0; // as C is lower level, variables need types assigned and declarations.
 +        char *msg = "Hello, World!\n"; // A "*" denotes a memory variable, aka pointer
 +
 +        while (*(msg+i) != '\0') // keep looping while the currently read character from msg is not '\0'
 +                fputc(*(msg+i++), stdout); // display currently read character to STDOUT
 +
 +        return (0); // all done, notify the system all went according to plan
 +} // close code block
 +</code>
 +
 +Memory variables are merely variables whose purpose is to contain a memory address. If we want to see what is inside the memory address contained within our memory variable, we have to dereference it, with the <nowiki>*</nowiki> operator. Note our addition of **i** to message within the parenthesis... we are numerically adding numbers to the address, BEFORE we dereference it. This is known as **pointer arithmetic**, and can be used to enable rather slick solutions to problems.
 +
 +The key takeaway here is that, even if you don't know C enough to write a program on your own, you should be able to identify organizational structures, and even tweak minor things to enable the program to perform in a more optimal way. There are manual pages that can be referenced for many STDIO C functions (including **fputc**), and I would highly recommend perusing some of them to get a better handle on what is going on.
 ======Week 5====== ======Week 5======
-  * Congratulations to **ssmit133** for winning the Week 4 bonus point drawing +  * Between the most excellent puzzle boxes and your ongoing explorations in general, you're likely chomping at the bit for increased excitement. I am not one to let you down! Fresh off the project assembly line, I give you **udr0**, which has us solving problems under a UNIX Data Recovery theme.
-  * Class notes roles for **[[/notes/unix#section09232014|09/23/2014]]** class: +
-    * author: **nvitull1** +
-    * designer: **tarnold4** +
-    * reviewer: **jcliteur** +
-    * Be sure to check the notes project for role-specific deadlines. +
-  Class notes roles for **[[/notes/unix#section09252014|09/25/2014]]** class: +
-    * author: **rhenggel** +
-    * designer: **nvitul1** +
-    * reviewer: **ahoover3** +
-    * Be sure to check the notes project for role-specific deadlines.+
  
 ======Week 4====== ======Week 4======
-  * Congratulations to **dsaunde6** for winning the Week 3 bonus point drawing +  * Because you had so much fun and life-redefining discovery on the puzzlebox, I have polished off the next exciting entry in the series: **pbx1** 
-  * Class notes roles for **[[/notes/unix#section09162014|09/16/2014]]** class: +  * A little more abstractyet still a little bit familiar. Promising hours of mind-expanding fun. 
-    * author: **mgleaso7** +
-    * designer: **nvitull1** +
-    * reviewer: **skramer1** +
-    * Be sure to check the notes project for role-specific deadlines. +
-  * Class notes roles for **[[/notes/unix#section09182014|09/18/2014]]** class: +
-    * author: **mquesad1** +
-    * designer: **mp010784** +
-    * reviewer: **tmosgrov** +
-  * If you are not sure if you submitted an assignment, I have updated the **submit** tool to report this information. +
-    * Simply run: **submit unix** +
-    * You will see upcoming yet-to-be-submitted projects, submitted projects, and past due projects +
-  * If you have already started on the **Puzzle Box**in the very last step (action 2 of the final step, actually), there is a command for you to type: +
-    * cat results | mail -s "[PROJECT: the puzzle box]" wedge $USER +
-    * This apparently doesn't work all the way (it doesn't e-mail you); try the following fix:  +
-      * cat results | mail -s "[PROJECT: the puzzle box]" wedge **${USER}@offbyone.lan**+
 ======Week 3====== ======Week 3======
-  * Congratulations to **dsoutha3** for winning the Week 2 bonus point drawing +  * Our third week of the semester started with a snow day! YES!!! After spending some time playing out in the snow, we can relax with some extra UNIX time playing around on lab46 and working on the project. 
-  * Class notes roles for **[[/notes/unix#section09092014|09/09/2014]]** class: +  * As we gear up for week 3 activities, I have released the next project, the famous **PuzzleBox** (**pbx0**). This project tends to be either really, really easy (in an obvious sort of way), or really, really challenging (due to not paying attention)
-    author: **dsoutha3*+  * You'll want to have finished the **arc0** project before starting to tackle the puzzle boxas it applies some of the skills you'll be picking up
-    * designer: **dshadeck** +  Don't forget to participate in the class mailing list! And update your Opus with all your exciting UNIX adventures and breakthroughs! 
-    * reviewer: **mp010784** +
-    * Be sure to check the notes project for role-specific deadlines+
-  * I wrote a new **status** script to aid in reporting class-related data collected for/on you (attendanceopus, projects). +
-    * At this point I am still loading in all the information... so not everything may be present+
-    Of the data present, please report to me (via e-mail) any errors and omissions. +
-    * The aim is to update this each WEEK. +
-  * Class notes roles for **[[/notes/unix#section09112014|09/11/2014]]** class: +
-    * author: **acarson1** +
-    * designer: **tmosgrov** +
-    * reviewer: **abuck4**+
 ======Week 2====== ======Week 2======
-  * Lab46 was reset on Friday, so we'll need to [[/haas/fall2014/common/class_chat|recreate our screen+irssi session]] to access the class chat+  * I hope everyone took the time to read through the Mages book- and are increasingly convinced that is is "the best course you've ever taken"
-  Time to set up our [[/haas/fall2014/common/repo|Lab46 mercurial repositories]] +  * The first project is due before it becomes Thursday. There are several actions you need to perform, so be sure that you tend to them. 
-  * Congratulations to **mgleaso7** for winning the Week 1 bonus point drawing +    * Remember that there's a 25% late penalty per day! So don't procrastinate. 
-  * Class notes roles for **[[/notes/unix#section09022014|09/02/2014]]** class: +  * Just to be clear, I do expect you to send an introduction message to the class mailing list after you've subscribed. Not very many (one, at the time of writing) have done this so far
-    * author: **tarnold4** +    If you're holding off to increase your chances of reception (good catch!) please be sure to do the deed before Thursday. Those who miss out, miss out. Their loss. 
-    * designer: **ddewert1** +  * The next project, **arc0**, has been released, putting many of your newfound skills to the test. 
-    * reviewer: **dshadeck** +  * Two more labs available for your skills development (I skipped 3 on purpose, we'll get to that later): 
-    * Be sure to check the notes project for role-specific deadlines. +    * [[/haas/fall2014/unix/labs/lab4|Lab 0x4: UNIX shell basics]] (complete by 20150211) 
-  * Class notes roles for **[[/notes/unix#section09042014|09/04/2014]]** class: +    * [[/haas/fall2014/unix/labs/lab5|Lab 0x5: More UNIX shell explorations]] (complete by 20150211) 
-    author: **abuck4** +      you may want to specifically look at the **I/O redirection** section of this lab to help with your **arc0** project.
-    designer: **vgarfiel** +
-    * reviewer: **mquesad1**+
  
 ======Week 1====== ======Week 1======
- +  * Welcome! I've wrapped all the initial activities into one project, **[[/haas/spring2015/unix/projects/uxi0|uxi0]]**that I'd like you to perform by the given deadline (by 11:59:59pm / 23:59:59). 
-  * Welcome! Be sure to: +  * On Lab46, we'll be getting familiar with logging into the pod systems, and once there:
-    * Read over the syllabus +
-    Subscribe to the class mailing list (please do this by 09/03/2014) +
-    Using the [[/haas/fall2014/common/class_chat|tutorial]], set up a screen session and get on #unix on irc +
-  * In Lab46, we'll be getting familiar with logging into the pod systems, and once there:+
     * opening up a terminal     * opening up a terminal
     * logging that terminal onto Lab46 for class work and in-class attendance     * logging that terminal onto Lab46 for class work and in-class attendance
Line 152: Line 122:
     * start working on the labs and other class activities     * start working on the labs and other class activities
     * start exploring     * start exploring
-  * Familiarize yourself with your Opus, and once there: 
-    * customize it (title/subtitle) 
-    * add an introduction 
-    * create your first week content 
   * Be sure to do the reading (located in the individual labs below)! There may be many pages, but there are many concepts to encounter.   * Be sure to do the reading (located in the individual labs below)! There may be many pages, but there are many concepts to encounter.
   * The following labs are now available for you to work through:   * The following labs are now available for you to work through:
-    * [[/haas/fall2014/unix/labs/lab0|Lab 0x0: Introduction to UNIX/Linux and Lab46]] (complete by 09/10/2014+    * [[/haas/fall2014/unix/labs/lab0|Lab 0x0: Introduction to UNIX/Linux and Lab46]] (complete by 20150128
-    * [[/haas/fall2014/unix/labs/lab1|Lab 0x1: Basic Utilities and their manual pages]] (complete by 09/10/2014+    * [[/haas/fall2014/unix/labs/lab1|Lab 0x1: Basic Utilities and their manual pages]] (complete by 20150128
-    * [[/haas/fall2014/unix/labs/lab2|Lab 0x2: Files and Directories]] (complete by 09/17/2014)+    * [[/haas/fall2014/unix/labs/lab2|Lab 0x2: Files and Directories]] (complete by 20150204)
  
haas/spring2015/unix/projects.1418057941.txt.gz · Last modified: 2015/01/20 12:45 (external edit)