Computer Science

Senior Design Center

Laboratory Resources

Lab Policies

Users of the Senior Design Center (SDC) Laboratory are expected to abide by the following policies. These policies are intended to preserve the integrity, utility, and flexibility of the equipment in the lab. They are also designed to protect the privacy of work done by students and faculty and to preserve our access to networks to which the lab is connected. You will also find useful and important information in the FAQs section.

  1. Students are expected to comply with the relevant policies of the Computer Science Department and with NCSU network and computing policies (http://www.ncsu.edu/it/rulesregs/).
  2. All labs are secured-access facilities. People who need access are granted that access on an individual basis via university ID card. Under no circumstances should you allow anyone into the lab.
  3. Any attempt to circumvent lab and system security, guess other passwords, or in any way gain unauthorized access to local facilities or network resources is forbidden.
  4. Do not remove equipment from the lab without explicit permission from the course instructor.
  5. You are expected to take proper care of the equipment in the lab. Report any malfunction via a Resource Request form immediately (see Getting Help With Computer Problems, below).
  6. You are expected to take care of your lab space. Please keep your lab area neat and clean. Your lab space should be in the same condition or better at the end of the semester as you found it at the beginning of the semester.
  7. Do not modify network connections or attempt to connect a personal machine to the local area network without prior approval.
  8. Do not install or use file-sharing programs such as Bittorrent, etc. on Senior Design Center lab machines, or personal machines on lab networks.
  9. Student teams are responsible for backing up project related materials. See below for the backup procedure.
  10. Please change the password for the 'adminuser' Account to something unique for your team.
  11. DO NOT CHANGE THE PASSWORD ASSOCIATED WITH THE 'ADMINISTRATOR' login. DO NOT RENAME OR DEACTIVATE THE 'ADMINISTRATOR' login.
  12. If you change the password associated with the 'administrator' login, the system will be rebuilt, without notice, from a base image. No attempt will be made to recover project files and/or data.
  13. Do not change/add printer setups unless advised to do so by an IT staff member.

Virtual Machine/Desktop FAQ

How do I log on to the virtual machine?

The computers that are in your workspace are not related to your unity accounts. An account for your team has been set up. The initial login/password for your team is 'adminuser/adminuser' (for Windows machines). Please change the password immediately.

Should I change the password(s) on my team's SDL machine?

Please change the password associated with the team login to something more secure. Be sure to change the password to one that the team decides upon. All student team accounts have administrator privileges. Be advised, if you also create additional logins, the Sys Admin will not support any problems with these accounts. Please create passwords for any additional accounts as well.

DO NOT CHANGE THE PASSWORD ASSOCIATED WITH THE 'administrator' login.

How can I get a specific application installed on our virtual machines?

There are several applications that are freely available on the Internet and each team has administrator privileges on their machine. You are encouraged to install and configure these free applications in an effort to better understand the technology that you will be using to develop your project. If the application you need is not freely available for download, use the Resource Request Form. In your request be sure to specify your computer name(s) found on a sticker on the front of each computer. Also be sure give the following information about the software: cost, where it can be found (ie website) what the software does, and why you need it.

Can we have administrator privileges on our computers?

Yes. All default student accounts on Senior Design Center computers will belong to the 'administrator' group. With this comes the responsibility to ensure that your computer remains viable and stable.

Do I have access to my AFS space?

Yes, you may access your AFS space with your unity login through WinSCP. You may download and install the latest version of WinSCP at http://www.eos.ncsu.edu/remoteaccess/windows/ras-win-sftp.html.

Can I access lab machines remotely?

In an effort to increase security in our labs, machines will be made remotely accessible only through VPN and NCSU wireless (not guest). You must put in a resource request to be allowed remote access to your machines.

Virtual Machines

Virtual Machines are available upon request. CSC IT maintains multiple virtualization clusters on Centennial Campus which which are available to SDC students. The recommended method for attaching to these VMs is via a remote protocol such as SSH & RDP (Remote Desktop; Windows) but console access is also permitted via https://vcenter.csc.ncsu.edu. vCenter access is also limited to on-campus & VPN only access.

Default configuration for these VMs are:

Windows Server 2016; 1vCPU, 4GB RAM, 40GB HDD
or
CentOS or Ubuntu; 1vCPU, 2GB RAM, 20GB HDD

Additional/alternate OSes can be installed yourself or we can import a prebuilt VM for you. The above configurations are default. Addtional resources can be allocated upon request.

Remote Access

Remote access is available by default on all Windows machines deployed by CSC IT Staff. You must first connect via campus VPN if you are not on campus. (https://vpn.ncsu.edu). And then use RDP to access the machines on port 4040. Linux machines may require additional configuration from the local machine.

External Services

Please do not store or host your project on any external services (AWS, Azure, etc.) without checking with your sponsor.

Equipment Checkout

Additional equipment such as iPads and Android phones may be required for your project. These items can be checked out from CSC IT Staff. Please send in a resource request for these items.

GIT Repositories

Teams will have access to GIT repositories for version control of source code and other text-based documents. All repositories have been created in advance for your team. Please note that your team is required to use the GIT repository provided by the Senior Design Center.

Getting Access to your GIT Repository

If you have not done so yet, visit NC State's GitHub Enterprise at https://github.ncsu.edu/ and log in with your Unity account. This is needed to initialize your account on GitHub before it can be added to your team's repository. To give your account access to your GIT repository, visit the Document Submission System, open the 'GIT Instructions' page, and follow the instructions.

Installing GIT on your Machine

If you don't have a GIT client installed already, you can visit http://git-scm.com/downloads and download the GIT client there.

Initializing your GIT Repository

This operation needs to be done only once by one of the members of your team. After your GIT repository is initialized, other team members should follow the instructions on Cloning your GIT Repository below.

  1. Create a folder in your computer where you would like to store your repository.
  2. Create a file in that folder. A good candidate for this would be README.md.
  3. Open a terminal or command prompt and CD to the local directory you created.
  4. Run the following commands:
    git init
    git add README.md (or the name of the file you created in step 2)
    git commit -m "first commit"
    git remote add origin https://github.ncsu.edu/engr-csc-sdc/<REPO_NAME>.git
    git push -u origin master
  5. You will be prompted for your username and password. Use your Unity account.

Cloning Your GIT Repository

  1. Open a terminal or command prompt and CD to the local directory where you want to store your repo.
  2. Run the following command:
    git clone https://github.ncsu.edu/engr-csc-sdc/<REPO_NAME>.git
    where <REPO_NAME> is the name of your team's repository (e.g. spring2013Team03).
  3. You will be prompted for your username and password. Use your Unity account.
  4. You might see a message that says; 'Warning: you appear to have cloned an empty repo'. This only means that there are no files under version control yet.
  5. This will create a folder with the name of your repo where your GIT repository will be stored. You can rename or move this folder if you want.
  6. CD to local git repo to run git commands on it.

Preparing Files to be Committed to the Repository

  1. Put the files you want to commit in the appropriate folder inside your repository.
  2. To include a single file, or a folder with all its contents, cd into the folder that contains the file or folder you want to include and run the command git add <file>, where <file> is the name of the file or folder you want to include in the commit. You can also include everything by running the command git add .
  3. This will 'stage' those files, which means that they are going to be included when you commit.

Committing Files Into Your Repository

  1. cd into your repository folder and run the command git commit
  2. A VIM editor will appear where you must insert the comments for the commit. For assistance on using VIM visit this page: http://www.washington.edu/computing/unix/vi.html
  3. Save your commit message and exit VIM by typing ESC followed by :wq!

NOTE: Committing files into your repository is a local operation. It does not affect the files on the server. If you want the changes to be visible somewhere else (like to the instructors for grading, or to update the code on other computers) you must push it to the server.

Pushing Your Commits to the Server

  1. CD into your repo folder and run the command git push
  2. If prompted, enter your Unity account details
  3. If you get the message 'Perhaps you should specify a branch such as 'master'.', then type: git push origin master
  4. From that point on you just need to type git push to push your commits to the server.

Retrieving the Latest Version of the Repository From the Server

  1. CD into your repository folder
  2. Run the command git pull

Further Reference

You can find more information on the available GIT commands, and details about how a GIT repository works on http://git-scm.com/docs. Details about how to use GitHub can be found at https://help.github.com/.

Getting Help with Computer Problems

Please let your TAs know if you have a problem using GIT, or let us know immediately if you have any other problems.

To submit resource requests:

  1. Go to the SDC Website
  2. On the top navigation, click "For Students", choose "Student Forms".
  3. On the Student Forms page, click the link to "Resource Request". You will be asked to login with your Unity ID and password.
  4. Fill out the form explaining your problems or requesting your needs. Make sure to include the Computer Name with your request (it is written on the front of the machine).

Note: Resource Requests should be completed by the Team Lead.