Skip to main content

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.

Learning Outcomes

  • Learn about the version control system GitHub
  • Set up a 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


About Eclipse IDE
About Eclipse IDE


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:

  1. Right click in the Package Explorer and select Import > General > Existing Projects into Workspace. Click Next.
  2. Select the radio button Select archive file and Browse for demo.zip.
  3. Make sure that DemoProject is selected in the Projects text area and click Finish.
  4. DemoProject should 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:

  1. Right click on the project and select Properties > Java Build Path > Libraries tab.
  2. Select the JRE System Library (which will be labeled unbound) and click Remove.
  3. Select Modulepath.
  4. Click Add Library….
  5. Select JRE System Library. Click Next.
  6. 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


JRE System Library [jdk-21]
JRE System Library [jdk-21]


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:

  1. Right click on the project and select Properties > Checkstyle.
  2. Click the check box next to Checkstyle active for this project. Ensure that the CSC 216/217 configuration is selected.
  3. 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)


CheckStyle Notifications
CheckStyle Notifications


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:

  1. Right click on the project and select Properties > SpotBugs.
  2. Click the check box next to Run automatically.
  3. 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)


SpotBugs Notifications
SpotBugs Notifications


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:

  1. Right click on the project and select Properties > PMD.
  2. Click the check box next to Enable PMD.
  3. 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 Java perspective iconin the upper right of the Eclipse workspace.

Demo: Appropriate notifications are displayed (please sort by notification type in the Problems View)


PMD Notifications
PMD Notifications


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:

  1. Open the project. Right click on the test/ folder and select Coverage As > JUnit Test.
  2. The tests will run and results will show with a red bar. X out of Y tests are failing.
  3. 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 Grades class; 0% line coverage for GradesUI class; and 94.9% line coverage for GradesTest class. 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


Test Results
Test Results



Coverage Report
Coverage Report


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:

  1. Select
    • Windows users: Window > Preferences > Version Control (Team) > Git > Configuration.
    • Mac users: Eclipse > Preferences > Version Control (Team) > Git > Configuration.
  2. 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


Git Configuration in Eclipse
Git Configuration in Eclipse


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.


GitHub with `DemoProject` folder
GitHub with `DemoProject` folder


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