Goals
- Set up your git repository.
- Set up Github Classroom
- Reinforce what you know about the C build process.
Credits
The material developed for this lab was developed by Prof. L. Felipe Perrone. Permission to reuse this material in parts or in its entirety is granted provided that this “credits” note is not removed. Additional student files associated with this lab, as well as any existing solutions can be provided upon request by e- mail to:
perrone[at]bucknell[dot]edu
Xiannong Meng made some revisions to use Github Classroom for the fall 2023 semester.
Preparing for CSCI 315 Labs
Choose a programming text editor to use. In CSCI 315 labs, we will not use any IDE (such as Eclipse or Visual Studio) so that you develop more of your self-reliance. You should ditch gedit for programming, if you haven’t done so yet. Instead, you should work with choose one of the two following editors to master:
- vim (classic; uses small amount of memory; widely available on barebones environments)
- emacs (classic; not so small memory footprint)
There are reference cards and tutorials for these editors everywhere on the Internet; find one that works for you and practice working with it before our lab exercise. You will want to know how to create new files, open files, save files, and use any editor functionality that might help you when writing programs.
Set Up
- Follow the directions to create an account on Github and accept the assignment “Lab0Prelab” from Github Classroom by the instructor. (You should receive an invite for this assignment through your Bucknell email.) In particular, read Section 3: How To Use Github Classroom From A Student’s Perspective from the document.
Dig deeper into git. You have a wide choice of web sources at your disposal, if you look around, and you should try to find one that explains the basic operation of git in a way that you can understand. Here’s one tutorial to get you started; feel free to look for others if you don’t like it. YouTube has many interesting video tutorials, if your learning style is more visual.
Take a look at this! One of our awesome TAs pointed us to this web resource (http://cdecl.org), which can help you “translate” a line of C gibberish (ahem, beautiful source code) into English. It might come in handy when you are trying to understand whether the code you wrote really means what you think it means.
This prelab has three problems. Write the answers to these questions in a text file named “lab00.txt” with the following header.
Your name
Your email
Your lab section, e.g., CSCI315L61
Your lab instructor’s name
Your TA’s name
You can find these information at the course website, https://csci315f23.courses.bucknell.edu/
Then write your answer to Problem 1 in the “lab00.txt” file. Problem 2 and 3 are done in Google Classroom.
Problem 1 (5 points)
Take a minute to think about the values, the facts, the experiences that define you as a person. Make a list of three of the points that you find most relevant and list the preferred pronouns we should use when referring to you. Write them down in “lab00.txt.”
Once you are done with this problem, add, commit, and push the file to your Github Classroom.
cd ~/csci315/Labs/Lab0Prelab git pull git add lab00.txt git commit -m "lab00.txt completed" git push
Problem 2 (15 points)
This problem can be found in your section of Google Classroom. You will watch a couple of YouTube videos and answer an online quiz. Note that your pre-lab quiz must be completed by 8 am on Tuesday.
Problem 3 (10 points)
This problem can be found in your Google Classroom. In preparation for it, spend some time reading and learning about GNU make. There are multiple fine tutorials online and you should look for one that is best suited to your learning style, but here’s one to get you started. Note that you are not trying to become the master of make; you are doing the best to learn a foundation to build upon during the semester. Once you are satisfied, go to your lecture section of Google Classroom and answer the quiz questions for this problem. Again, the quiz must be completed by 8 am on Tuesday.
Grading Rubric
- Problem 1 – [5 points] for completion.
- Problem 2 – [15 points] assigned according to the quiz results.
- Problem 3 – [10 points assigned according to the quiz results.