Corning Community College CSCS1320 C/C++ Programming ~~TOC~~ ======Project: CCI0====== =====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 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. Note that this IS one half of a course. Joe is handling the lecture half this semester, and I am handling the lab half. Joe may make comments about how grading is performed, that might seem to conflict with my activities, but trust me: you'll be glad keep up with the lab half of things. ====Opus Intro==== Familiarize yourself with your Opus, and once there: * customize it (title/subtitle) * add an introduction * create your first week content **NOTE:** Week 1 opus entry will be due before Tuesday, the remainder of the intro Opus content will be due by this project's deadline. ====Mailing List==== Using the resources found on the course homepage (or the lab46 website in general), locate and subscribe a preferred and frequently checked e-mail address to the class mailing list (known as **CPROG**). We will use this for class discussions (along with irc, the notes wiki page, your Opus, etc.) and to disseminate announcements and other information. Once subscribed, please send a message to the list introducing yourself (also so I can know to associate a particular e-mail address with you). ====Class Chat (IRC)==== Using the [[/haas/spring2015/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, other Computer Science students should be populating this channel, so it will serve as a great medium to ask for additional help. ====Lab46 Shell==== For many of you, this will be your first experience in the LAIR and/or logging onto Lab46. If you are new, the first day I will have your login information which will be provided, and we will spend a few moments getting everyone logged in. If you are already familiar, please ensure you can still log into the pods and lab46. ====Personal/Per-User Lab46 Mercurial Repository==== Joe will likely have you use BitBucket for his side of the class; if you'd like to run with that, you may skip this step for this class. But note that you do have your own Lab46 mercurial repository, and you may make use of it for class-related purposes. 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/spring2015/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 Opus, 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). ====Program to Implement==== As a first week exercise, I would like you to implement, successfully compile, and verify correct execution of the best first program every great programmer writes: **Hello World** Code will be as follows: /* * hello.c - the first best C program ever * * written by: your name */ #include int main() // every program needs a start, main() is ours { fprintf(stdout, "Hello, World!\n"); // display a message to STDOUT return (0); // return a success status to OS } Your task will be to transcribe this code (sans line numbers), into a source file (call it **hello.c** for simplicity), within some subdirectory of your lab46 account (**~/src/cprog/** may be a good choice). Verify you typed in everything correctly by compiling it; you want no warnings or errors: lab46:~/src/cprog$ gcc -o hello hello.c lab46:~/src/cprog$ Get to know/ask questions about that **gcc** line... this will not be the only time you see it. Finally, verify the program runs as anticipated: lab46:~/src/cprog$ ./hello Hello, World! lab46:~/src/cprog$ Once satisfied, be sure to submit the program as indicated below. =====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. * 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 (**make submit** 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 (assuming you have a program called hello.c): lab46:~/src/cprog/cci0$ submit cprog cci0 hello.c Submitting cprog project "cci0": -> hello.c(OK) SUCCESSFULLY SUBMITTED lab46:~/src/cprog/cci0$