For Lab 00 learn about GitHub, the version control system we use in CSC 216/217 and set up your development environment for CSC 216/217.
CSC 217 & Lab 00 Overview
Lab 00 Deadline
Lab 00 is due 1/21/2026 at 11:45pm.
You have two evaluation options:
- Have your lab demo checked by an instructor/PTF during office hours
- Submit a video demo showing that your environment is set up properly
If you demo to an instructor/PTF, your grade will be recorded in an internal gradesheet. Your grade for Lab 00 will be posted after all Lab 00s have been graded.
Complete the steps in Lab 00 BEFORE demoing to a member of the teaching staff or recording the video. We want to see the results of the setup.
GitHub Overview
We’ll be using NC State’s Enterprise Cloud GitHub service for submission of most work in CSC 216/217 this semester. Information about NC State’s Enterprise Cloud GitHub service is available. One note is that your user name is unityid_ncstate. The GitHub tutorial provides additional resources about working with GitHub. Make sure that you substitute https://github.com anywhere https://github.ncsu.edu is used for submission of student work.
It’s an excellent resource for when you run into issues with GitHub (which is used in most CSC classes from this point forward and GitHub or similar tools are used in industry - version control is something that you have to know to be an effective developer).
Development Environment Setup
For Lab 0, you will have the opportunity to set up your development environment and ensure that everything is working correctly. If you have any questions, please come to office hours or post to the course forum!
After setting up your development environment, you will demo your setup for the teaching staff as outlined below. Please go through the demo steps BEFORE checking in with the teaching staff or recording the video for grading.
There are several options for how you can receive credit for your Lab 00 demo:
- Attend office hours of any CSC 216/7 PTF or instructor and run through the demo outlined below. They will grade your demo and if there are missing items they will let you know and you can revise (independently) for another review.
- Record a video of your demo and submit to Moodle for a review by the Lab 00 deadline. We encourage you to use Open Broadcaster Software to record your demo. Submit on the lab CSC 217 Moodle.
Submissions to GitHub without an associated office hour or video demo will be graded for partial credit; however, there are parts of the Lab 00 expectations that we cannot see on GitHub alone.
Lab 00 is due by 1/21/2026 at 11:45pm for all sections.
Step 0: Install Environment
Go through the Eclipse Install Tutorial to set up Java, Eclipse, and the appropriate plug-ins.
Step 1: Launch Eclipse
Launch Eclipse and show that all plug-ins are installed. You can see the icons for installed plug-ins by selecting Help > About Eclipse IDE. The icons of the required plug-ins are highlighted in red and may appear in a different order than the screenshot.
Demo: Eclipse is open & plug-ins are installed
Step 2: Import Demo Project
To ensure that all of the plug-ins are configured correctly, download the Demo Eclipse Project.
Import the project into your workspace:
- Right click in the Package Explorer and select Import > General > Existing Projects into Workspace. Click Next.
- Select the radio button Select archive file and Browse for
demo.zip. - Make sure that
DemoProjectis selected in the Projects text area and click Finish. DemoProjectshould now be listed in the Package Explorer.
Wait a bit for the project to build. If your project has a big red exclamation point icon over the project folder your project was unable to build due to a path issue within Eclipse. To fix, do the following:
- Right click on the project and select Properties > Java Build Path > Libraries tab.
- Select the JRE System Library (which will be labeled unbound) and click Remove.
- Select Modulepath.
- Click Add Library….
- Select JRE System Library. Click Next.
- Select the radio button for Workspace default JRE (jdk 21 name). Click Finish. Note that the JRE 21 name will vary depending on the name of your local default JDK/JRE. If your default JRE is not version 21, go back to the Java in Eclipse section of the Install Tutorial.
Demo: Project is in Package Explorer, the project is expanded, and Java 21 is associated with the project
Step 3: Run CheckStyle
CheckStyle needs to be turned on for each project so that it will run with every build. To activate CheckStyle for a project, do the following:
- Right click on the project and select Properties > Checkstyle.
- Click the check box next to Checkstyle active for this project. Ensure that the CSC 216/217 configuration is selected.
- Click Apply and Close.
After running CheckStyle you should see 4 notifications in the Problems view. If you see more than this, you didn’t configure CheckStyle properly.
Demo: Appropriate notifications are displayed (please sort by notification type in the Problems View)
Step 4: Run SpotBugs
SpotBugs needs to be turned on for each project so that it will run with every build. To activate SpotBugs for a project, do the following:
- Right click on the project and select Properties > SpotBugs.
- Click the check box next to Run automatically.
- Click Apply and Close.
After SpotBugs is active, run by right-clicking on the project and selecting SpotBugs > FindBugs.
After running SpotBugs you should see 1 notification in the Problems view of type SpotBugs Problem. If you see more than this, you didn’t configure SpotBugs properly.
Demo: Appropriate notifications are displayed (please sort by notification type in the Problems View)
Step 5: Run PMD
PMD needs to be turned on for each project so that it will run with every build. To activate PMD for a project, do the following:
- Right click on the project and select Properties > PMD.
- Click the check box next to Enable PMD.
- Click Apply and Close.
There should be 15 PMD notifications across the src/ and test/ folders. If you see more than this, you didn’t configure PMD properly.
If you run PMD by right clicking on the project and selecting PMD > Check Code, you may be switched to the PMD perspective. You can switch back to the Java perspective by clicking the Java perspective icon in the upper right of the Eclipse workspace.
Demo: Appropriate notifications are displayed (please sort by notification type in the Problems View)
Step 6: Run Unit Tests for Coverage
We will run automated unit tests on our code this semester and assess the quality of tests through code coverage. To run unit tests instrumented for coverage, do the following:
- Open the project. Right click on the
test/folder and select Coverage As > JUnit Test. - The tests will run and results will show with a red bar. X out of Y tests are failing.
- A coverage report will show. In the upper right menu, select the three vertical dots (or possibly, a white triangle pointing down) and click on Line counters. You’ll see 73.2% line coverage for the
Gradesclass; 0% line coverage forGradesUIclass; and 94.9% line coverage forGradesTestclass. If you don’t see these numbers, make sure that you are using Line counters.
Demo: Appropriate test results are displayed and coverage report shows line counters and correct coverage percentages
Step 7: Git Configuration in Eclipse
Ensure that you have configured Git in Eclipse with your name and NCSU email address. You can demonstrate the configuration by:
- Select
- Windows users: Window > Preferences > Version Control (Team) > Git > Configuration.
- Mac users: Eclipse > Preferences > Version Control (Team) > Git > Configuration.
- Open up the user label to show name and email address. You MUST use your NCSU email address.
Demo: NC State information is displayed in Windows/Eclipse > Preferences > Version Control (Team) > Git > Configuration
Step 8: Push Demo Project to GitHub
You have been assigned a GitHub repository for Lab 00. Push your DemoProject to GitHub (this should be done before you do the live demo or recording). See slides 26-29, the Git Guide, or the Git instructions from Guided Project 1. Note that you’ll have a repository in a GitHub Organization that matches the pattern of ncstate-csc-coursework/csc216-year-semester-L00-XXX where XXX is your repo number.
When you’re done, check on NCSU’s GitHub website that the DemoProject folder is listed.
Demo: Browse to assigned GitHub repo for Lab 00 and show that project is pushed to the repo
Step 9 [optional + extra credit]: Git Configuration on Command Line
If you have installed Git for your operating system and configured your global user name and email settings, show the PTF via the following command from your favorite command line tool:
1
$ git config --list
Your name and NCSU email address should be listed under user.name and user.email:
1
2
3
4
...
user.name=Sarah Heckman
user.email=sarah_heckman@ncsu.edu
...
Demo: NC State information displayed for git config --list command
Development Environment Demo
After completing the setup steps, above, you will demo your completed setup to an instructor/PTF during office hours OR by recording a video showing the completed setup. Before demoing to a member of the teaching staff or recording the video, make sure you’ve completed the steps. We want to see the results, not the process. Here is what you should show for each step:
| Step | Demo |
|---|---|
| Step 1: Launch Eclipse | Eclipse is open & plug-ins are installed |
| Step 2: Import Demo Project | Project is in Package Explorer, the project is expanded, and Java 21 is associated with the project |
| Step 3: Run Checkstyle | Appropriate notifications are displayed (please sort by notification type in the Problems View) |
| Step 4: Run SpotBugs | Appropriate notifications are displayed (please sort by notification type in the Problems View) |
| Step 5: Run PMD | Appropriate notifications are displayed (please sort by notification type in the Problems View) |
| Step 6: Run Unit Tests for Coverage | Appropriate test results are displayed and coverage report shows line counters and correct coverage percentages |
| Step 7: Git Configuration in Eclipse | NC State information is displayed in Windows/Eclipse > Preferences > Version Control (Team) > Git > Configuration |
| Step 8: Push Demo Project to GitHub | Browse to assigned GitHub repo for Lab 00 and show that project is pushed to the repo |
| Step 9: Git Configuration on Command Line [Optional + Extra Credit] | NC State information displayed for git config --list command |
Lab Deadlines
For Lab 0, you are expected to:
- review how to use GitHub
- demonstrate that you have successfully set up your personal development environment either to a PTF/instructor or through a demo video submitted to the CSC 217 Moodle.
The deadline for demonstration of your personal development environment is 1/21/2026 at 11:45pm for all sections. You must show your setup to your lab PTF (or another PTF during office hours) or submit a video of your environment for evaluation.
Grading Rubric
You will be evaluated on demonstration that you have successfully set up your personal development environment.
Development Environment Setup Rubric
| Phase | Grade Item | Points | Details |
|---|---|---|---|
|
Step 2 - Import Demo Project | 15 | Project is in Package Explorer, the project is expanded, and Java 21 is associated with the project |
|
Step 3 - CheckStyle Notifications | 10 | Appropriate notifications are displayed (please sort by notification type in the Problems View) |
|
Step 4 - SpotBugs Notifications | 10 | Appropriate notifications are displayed (please sort by notification type in the Problems View) |
|
Step 5 - PMD Notifications | 10 | Appropriate notifications are displayed (please sort by notification type in the Problems View) |
|
Step 6 - Unit Tests and Coverage Report | 10 | Appropriate test results are displayed and coverage report shows line counters and correct coverage percentages |
|
Step 7 - Eclipse Git Configuration | 15 | NC State information is displayed in Windows/Eclipse > Preferences > Version Control (Team) > Git > Configuration |
|
Step 8 - DemoProject Committed to GitHub | 15 | Browse to assigned GitHub repo for Lab 00 and show that project is pushed to the repo |
| Total Points | 85 |
Extra credit
| Phase | Grade Item | Points | Details |
|---|---|---|---|
|
Step 9 - Command Line Git Configuration | 5 | NC State information displayed for `git config --list` command |
| Total Points | 5 |
