Corning Community College
CSCS2330 Discrete Structures
======Project: DSI0======
=====Errata=====
This section will document any updates applied to the project since original release:
* __revision #__: (DATESTAMP)
=====Objective=====
In this project, we get started with some course initialization and review activities.
=====Project Overview=====
====Course Homepage====
You're reading this, so you've likely already found your way to the course homepage. It consists of the syllabus plus additional course resources.
Please familiarize yourself with it, bookmarking important resources as appropriate, so that you can refer back when needed.
I'd recommend knowing how to get to the projects page (where you found the link for this project), as new content will be posted there.
====Syllabus====
Be sure to read through and over the syllabus, ensuring there are no questions on the material and organization of the course.
====Journal Intro====
Familiarize yourself with your Journal, and once there:
* customize it (title/subtitle)
* add an introduction
* create your first week content
**NOTE:** Week 1 journal entry will be due before Thursday of week2, the remainder of the intro Journal content will be due by this project's deadline.
====Class Chat (IRC)====
Using the [[/haas/fall2019/common/class_chat|tutorial]], set up a screen session and join the **#csci** channel on irc. This has proven useful for more interactive (debugging!) conversations.
Additionally, the C/C++ Programming students will be on this channel, so you could further review your C skills by helping them out.
====Lab46 Shell====
Ensure you can still (or if you are new to this, that you can successfully) log into lab46 via an ssh or mosh client.
Lab46 will be the primary and supported development environment for the course. While you are free to use your own systems for any projects not intimately tied to Lab46 or the LAIR, any assigned projects:
* MUST be submitted via lab46 (typically via the **submit** tool)
* MUST compile, run, and function as required ON lab46
Remember, during open LAIR times you can always come in and use the pods.
====Personal/Per-User Lab46 Mercurial Repository====
To both aid you and help you develop better development skills, I'd like for you to make regular commits and pushes to your [[/haas/fall2019/common/repo|Lab46 mercurial repository]].
This way, you can have a regular snapshot of your work as you go along, plus have the ability to grab an older copy should something go wrong.
Like the Journal, I will be looking for a minimal amount of repository-related activity PER WEEK (for example, I will be looking for AT LEAST 1 commit in relation to your program for week 1).
NOTE that you only need to set up your repository ONCE. If you've done it in a previous semester, you are already all set.
=====Submission Criteria=====
To be successful in this project, the following criteria must be met:
* Project must be submit on time, by the posted deadline.
* Late submissions will lose 25% credit per day, with the submission window closing on the 4th day following the deadline.
* Run the **submit** tool by the deadline to record your completion.
=====Submission Criteria=====
To be successful in this project, the following criteria must be met:
* Project must be submit on time, by the posted deadline to be eligible for full credit.
* Late submissions will lose 25% credit per day, with the submission window closing on the 4th day following the deadline.
* Early submissions can earn 1 bonus point per day in advance of the posted due date.
* All code must compile cleanly (no warnings or errors)
* all requested functions must be implemented in the related library or program
* all requested functionality must conform to stated requirements (either on this project page or in 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 (you may use the **indent** tool)
* 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
* Track/version the source code in a repository
* Submit a copy of your source code to me using the **submit** tool by the deadline.
* Make sure your submitted source code is in a file called **hello.c**
* Make sure it outputs exactly like the sample output above.
* Create and submit a text file called **info.text** that contains the following information:
* preferred name/nickname
* preferred non-lab46 e-mail address
* program you are matriculated in
* irc nick used in class chat (your username if unchanged)
* other information I should know
====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/discrete/dsi0$ submit discrete dsi0 info.text
Submitting discrete project "dsi0":
-> info.text(OK)
SUCCESSFULLY SUBMITTED
lab46:~/src/discrete/dsi0$
I'll be evaluating the project based on the following criteria:
39:dsi0:final tally of results (39/39)
*:dsi0:customized journal title [5/5]
*:dsi0:customized journal intro [6/6]
*:dsi0:joined class irc chat [4/4]
*:dsi0:submitted info.text file [4/4]
*:dsi0:provided requested information in info.text [8/8]
*:dsi0:cloned lab46 mercurial repository into ~/src [4/4]
*:dsi0:committed and pushed populated .hgignore file [4/4]
*:dsi0:configured hgrc file [4/4]
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