This page lists a summary of Computing Resources provided by Computer Science IT Services for students.
The computing resources page for faculty, student faculty, and staff is located here.
The Computer Science IT Services group consists of CS systems engineers who work with the CS Education Technology committee and the CS Computing committee to support the technology needs of faculty, staff, and students.
Questions? Please contact us by sending an email to cscihelp@colorado.edu with your University provided email address.
This will create a case in OIT's ServiceNow system and assign it to our group to serve as formal tracking for assistance.
Computer Science Service Alerts
Check the current status of CS services
Computer Science IT Services SLA
Dedicated support hours of operation are 9:00AM to 6:00PM Monday-Friday for requests and incidents.
Weekend support is limited to incidents only, with a response time within 4 hours.
These hours of operation exclude university holidays and official closures.
You can contact CSCI IT Services via OIT's ServiceNow system. Please email cscihelp@colorado.edu.
Service | Requests | Incidents | Afterhours / Weekend Incidents |
---|---|---|---|
Managed Instances | 2 business days | 2 hours | 4 hours |
JupyterHub | 2 business days | 2 hours | 4 hours |
OpenStack Cloud | 2 business days | 2 hours | 4 hours |
Moodle LTI to Canvas | 4 business days | 2 hours | 4 hours |
Runestone eBooks | 2 business days | 2 hours | 4 hours |
CU CS VM Support | 2 business days | n/a | n/a |
CS Faculty Home | 4 hours | 2 hours | 4 hours |
ELRA Nodes | 2 business days | 8 hours | The next business day |
Redirector Service | 1 business day | 2 hours | 4 hours |
Department Provided Software Licensing
As of July 1st, 2021 you must be enrolled in a course requiring VMWare. Your instructor will then enroll you for IT Academy with instructions to download VMWare products. We can no longer accept individual requests outside this scope.
Once your instructor has created your account; you will receive login details and can request software in the below portal. You must use your IdentiKey based email (identikey@colorado.edu). This will be a separate password as this service is not Federated with CU Boulder's Identity Provider at this time.
Our agreement with the VMWare Academic Program through Kivuto (e5) has expired as of June 30th, 2021. Existing users will continue to have access until their license expires. If you have signed into e5 prior to June 30th, 2021 with FedAuth (SSO); please continue to use the below instructions to retrieve your license. New users will no longer receive licenses through e5 and must get the software thru VMWare IT Academy.
If you are current, active computer science student, faculty member or staff member, VMWare is automatically provided for free.
To begin the process, simply visit the OnTheHub Portal, and then click "sign in" on the upper right with your IdentiKey credentials via FedAuth.
If you are eligible, you will automatically be registered and verified for one year from your sign-in date.
Visit the CU Boulder CSCI e5 Portal
If no products are visible, your IdentiKey does not have the eligibility requirements for automated portal access; or you did not have a license prior to June 30th, 2021.
- Current Computer Science Career Track (Graduate, Major, Minor)
- Current Computer Science Faculty
- Current Computer Science Staff
Current students, faculty, and staff that are part of the Technology, Cybersecurity & Policy Program are now affiliated with Computer Science, and as such will also have automatic eligibility for VMWare products in the portal.
Piazza is a forum-based LMS with moderated anonymous posting capabilities for discussion and classroom engagement.
A department-level Piazza license is available to CSCI, CSPB, and CYBR courses.
If features of the paid model are desired, please send us a message via cscihelp@colorado.edu.
This will license all courses you teach in Piazza.
To get started, you will need an instructor Piazza account which can be created via Canvas.
- Login to Canvas and Navigate to your Course
- Click "Settings", and open the "Navigation Tab"
- Enable Piazza, which will now be in Course Navigation.
- Create your Piazza course in Canvas
Computer Science Education Lab (CSEL)
The new Computer Science Education Lab is located at ECCS 114.
CSEL Ambassadors are present here from 9AM - 8PM during weekdays.
Private study rooms are available for reservation.
To book a room, please contact cselambassadors@colorado.edu at least 24 hours in advance.
The remote lab is a legacy set of hosts for general remote work. In order to connect; the UCB VPN is required.
This service is deprecated, it is recommended to use newer cloud computing resources offered by the department.
Student websites will remain but the compute nodes may be decommissioned in the future.
All active IdentiKey users on the CSCI career track have access to this service. SSH into elra.cs.colorado.edu
, which consist of the following hosts running Ubuntu 20.04:
- elra-01.cs.colorado.edu
- elra-02.cs.colorado.edu
- elra-03.cs.colorado.edu
- elra-04.cs.colorado.edu
You can either SSH into the round-robin address (elra.cs.colorado.edu) or directly into a specific node. All nodes share the same home directory.
In addition, there is a separate node that runs Red Hat Enterprise Linux 7.
- elra-sql.cs.colorado.edu
A shell can be set globally in the IdentiKey Portal. This is /bin/bash
by default.
Data Retention Policy
All data saved to your home directory is retained as long as your IdentiKey remains active (enrolled in some course) or if you have a public_html
directory present.
Once you are no longer active with CU Boulder, data is retained for one academic year following your last semester. It will then be archived and no longer accessible. If you have a public_html
directory, that will be retained indefinitely.
Please contact us for data retrieval requests from the archive.
Application Services
Students can setup a self-service personal website, located at https://csel-web.cs.colorado.edu/~IdentiKey
To begin, login to any Education Lab Remote Access (ELRA) node and create a public_html directory in the root of your home.
# create a public_html directory in your home directory root
mkdir -p ~/public_html
# Add html content
echo "hello world" > ~/public_html/index.html
If you receive an unauthorized or permission denied error when visiting your site, make sure the web server has permission to read this directory.
# Repair Permissions
chmod o+x ~; chmod o+rx ~/public_html
JupyterHub server for Jupyter notebooks provides a web-based environment within a per-user sandboxed pod. Several environments are available, such a web Visual Studio IDE.
Log in to the Coding Environment via CU Google Workspace Account
Training Materials and Guides on Canvas
Data Retention Policy
All data saved to your home directory is retained as long as your IdentiKey remains active (enrolled in some course). Quotas are 2GiB.
Once you are no longer active with CU Boulder, data is retained for one academic year following your last semester. Unlike ELRA where data is archived, JupyterHub home directory data wlll be deleted and no longer accessible after this period.
VMWare Workstation or Fusion is required to run this image.
Usage of the CU CS VM is now discouraged in favor of cloud-based solutions, such as JupyterHub.
The Fall 2020 CU CS Virtual Machine is a VMWare prebuilt image with several course binaries preinstalled for Linux 4.10 kernel compilation exercises related to various courses. It also includes compiled time series analysis binaries.
Please note that certain upgrades are disabled in this image. The image operates Ubuntu 16.04 LTS with the 4.10 kernel. Upgrading the kernel will create variances in course assignments and may make it impossible to complete, so it is discouraged.
Infrastructure and Cloud Computing Services
Managed Instances are virtual servers that operate out of the east campus datacenter.
The definition of "managed" in this context means that your instance has a standardized configuration as its base performed by our configuration management platform. This includes authentication and authorization (via OIT IAM Grouper), networking, automated patching, backups, routine authenticated vulnerability scanning from OIS, etc...
When a long term server is required for hosting, etc... this is the recommended option. Completing the following form will create a GREQ with us which you can track in ServiceNow.
Request a Managed Cloud Instance
Should an unmanaged instance be desired instead for short term use or experimentation, please view the OpenStack Cloud Computing Platform service below to spin up unmanaged servers.
OpenStack is an open source cloud computing infrastructure solution for in-house clouds. It functions similar to cloud platforms such as AWS, but comes with no cost (other than electricity).
The cloud platform provides the self-service ability to spin up a variety of operating systems and attach them to the CU Boulder Science Network. All active CU Boulder Employees will automatically be joined to a Demo project and can spin up Generation 2 instances.
This computing resource is provided free of charge, and is hosted with university resources. It is intended to only be used for university related buisness. Please review the Acceptable Use of CU Boulder's IT Resources page for more information. OIS has full access to this platform.
*Students must be part of a project setup by a faculty, student faculty or staff member in order to spin up cloud instances.
Log in to the Cloud Platform via FedAuth
Training Materials and Guides on Canvas
OpenStack Capabilities Reference
General Purpose
This is a balanced instance type that should provide proportional resources to most workloads. They are powered by Intel Xeon® E5-2667v2 Ivy Bridge Processors on DDR3.
Flavor | vCPU | Mem (GiB) | Network Performance (Gbps) | Restrictions |
---|---|---|---|---|
m3.nano | 2 | 0.5 | Up to 10 | None |
m3.micro | 2 | 1 | Up to 10 | None |
m3.small | 2 | 2 | Up to 10 | None |
m3.medium | 2 | 4 | Up to 10 | None |
m3.large | 2 | 8 | Up to 10 | None |
m3.xlarge | 4 | 16 | Up to 10 | None |
m3.2xlarge | 8 | 32 | Up to 10 | None |
Compute Optimized
This instance type has a higher processor ratio for more workloads more intensive towards CPU. They are powered by Intel Xeon® E5-2667v2 Ivy Bridge Processors on DDR3.
Flavor | vCPU | Mem (GiB) | Network Performance (Gbps) | Restrictions |
---|---|---|---|---|
c3.large | 2 | 4 | Up to 10 | None |
c3.xlarge | 4 | 8 | Up to 10 | None |
c3.2xlarge | 8 | 16 | Up to 10 | None |
c3.4xlarge | 16 | 32 | Up to 10 | None |
General Purpose
This is a balanced instance type that should provide proportional resources to most workloads. They are powered by Intel Xeon® E5-2667v3 Haswell Processors on DDR4.
Flavor | vCPU | Mem (GiB) | Network Performance (Gbps) | Restrictions |
---|---|---|---|---|
m4.nano | 2 | 0.5 | Up to 25 | CSCI affiliation |
m4.micro | 2 | 1 | Up to 25 | CSCI affiliation |
m4.small | 2 | 2 | Up to 25 | CSCI affiliation |
m4.medium | 2 | 4 | Up to 25 | CSCI affiliation |
m4.large | 2 | 8 | Up to 25 | CSCI affiliation |
m4.xlarge | 4 | 16 | Up to 25 | CSCI affiliation |
m4.2xlarge | 8 | 32 | Up to 25 | CSCI affiliation |
Compute Optimized
This instance type has a higher processor ratio for more workloads more intensive towards CPU. They are powered by Intel Xeon® E5-2667v3 Haswell Processors on DDR4.
Flavor | vCPU | Mem (GiB) | Network Performance (Gbps) | Restrictions |
---|---|---|---|---|
c4.large | 2 | 4 | Up to 25 | CSCI affiliation |
c4.xlarge | 4 | 8 | Up to 25 | CSCI affiliation |
c4.2xlarge | 8 | 16 | Up to 25 | CSCI affiliation |
c4.4xlarge | 16 | 32 | Up to 25 | CSCI affiliation |
General Purpose
This is a balanced instance type that should provide proportional resources to most workloads. They are powered by modern Intel Xeon® Gold 6226R Cascade Lake Scalable Processors with the new Intel AVX-512 instruction set on DDR4.
Flavor | vCPU | Mem (GiB) | Network Performance (Gbps) | Restrictions |
---|---|---|---|---|
m5.nano | 2 | 0.5 | Up to 25 | CSCI affiliation, pre-approval |
m5.micro | 2 | 1 | Up to 25 | CSCI affiliation, pre-approval |
m5.small | 2 | 2 | Up to 25 | CSCI affiliation, pre-approval |
m5.medium | 2 | 4 | Up to 25 | CSCI affiliation, pre-approval |
m5.large | 2 | 8 | Up to 25 | CSCI affiliation, pre-approval |
m5.xlarge | 4 | 16 | Up to 25 | CSCI affiliation, pre-approval |
m5.2xlarge | 8 | 32 | Up to 25 | CSCI affiliation, pre-approval |
Compute Optimized
This instance type has a higher processor ratio for more workloads more intensive towards CPU. They are powered by modern Intel Xeon® Gold 6226R Cascade Lake Scalable Processors with the new Intel AVX-512 instruction set on DDR4
Flavor | vCPU | Mem (GiB) | Network Performance (Gbps) | Restrictions |
---|---|---|---|---|
c5.large | 2 | 4 | Up to 25 | CSCI affiliation, pre-approval |
c5.xlarge | 4 | 8 | Up to 25 | CSCI affiliation, pre-approval |
c5.2xlarge | 8 | 16 | Up to 25 | CSCI affiliation, pre-approval |
c5.4xlarge | 16 | 32 | Up to 25 | CSCI affiliation, pre-approval |
The storage technology utilized for OpenStack is Ceph, a distributed cloud object storage solution which is extremely scalable and resilient. Ceph is the upstream of Red Hat Ceph Storage.
Volume Type | Description | Comment |
---|---|---|
ceph-gp2 | General Purpose SSD | Distributed pool of enterprise flash media |
ceph-gp1 | General Purpose SSD | Deprecated, no longer an option for new instances |
ceph-st1 | Throughput Optimized HDD | Distributed pool of enterprise magnetic media |
ceph-ct1 | Cache Tiered Storage | Distributed pool of flash media, backed by a pool of magnetic media |
ceph-sc1 | Cold HDD | Distributed pool of slow/older magnetic media |
Cloud images contain the cloud-init package, which is responsible for items such as SSH public key injection. This is the only way to login to a Linux image booted for the first time. The default login account is set by the cloud image maintainers. For example, the Debian cloud team maintains the below debian image with the default user of "debian", and Red Hat sets it as "cloud-user".
Based on the image selection, initial SSH (RDP if Windows) will need to be performed with this user. It can then be replaced or deleted if desired. Make sure the new account works prior or a lockout will occur.
Cloud Image | Login Account with SSH Public Key Injection |
---|---|
Red Hat Enterprise Linux 7 | cloud-user |
Red Hat Enterprise Linux 8 | cloud-user |
CentOS 7 | centos |
CentOS 8 Stream | centos |
Rocky Linux 8 | rocky |
Debian 10 | debian |
Ubuntu Distributions | ubuntu |
OpenSUSE 15 JeOS | opensuse |
Fedora Distributions | fedora |
FreeBSD 13 | freebsd |
Windows Server 2019 Core / Desktop | Administrator |
Windows 10 Enterprise | Windows |
The availability zones indicate their physical locations on Campus. This would mainly affect network performance, so it is recommended that machines that require low-latency communication with each-other be put in similar AZ's
For example "ucb-east-1a" indicates it is located on east campus, and "1a" indicates a particular cross cabled rack pair in SPSCv2. "1b" would indicate another rack pair in the same room, while "2a" would indicate SPSCv1. In this example these zones would all be considered "close-enough" to each-other for networking or storage purposes.
Having an instance in "ucb-main-1a" with storage in "ucb-east-1b" for example may negatively affect instance performance.
Availability Zone | Notes |
---|---|
ucb-east-1a | A rack pair (LACP cross cable) in SPSCv2 |
ucb-east-1b | A rack pair (LACP cross cable) in SPSCv2 |
ucb-east-2a | A rack in SPSCv1 |
ucb-main-1a | This is planned but not yet implemented |
When configuring networks for private projects, it is important to get a birdseye view of private (openstack-restricted) networking, and attaching to "real" (campus or public) networks.
Network Type | Description |
---|---|
External VLAN | An external (campus / public) network, a project level sdn router must be attached to it and Floating IP's are allocated from the external network. |
Provider External VLAN | An external (campus / public) network, instances attach to it directly. Not typical. Floating IP's cannot be used in this case. |
Project VXLAN | A private project-based network only defined in OpenStack. When creating these it is recommended to use Campus DNS. |
It is typical that only external networks are presented to a new project. Two networks (scinet-internal) and (scinet-external) will always be available, but a project will typically only have a router connected to 1 of these provider networks.
If a specific network is desired for a project, it must be present on the UCB science network and defined in the campus networks file in HIPPO. When requesting a network, it can also be determined if machines should attach to an external network directly vs going through an openstack private network w/Floating IP.
Additional Resources
Several CSCI services require the Cisco VPN (ie, always required for SSH and RDP).
Please view the following OIT page for information on setup.
Please visit the OIT Software Catalog for products available to CU Boulder affiliates. This includes additional software such as MathWorks MatLab and Wolfram Mathematica.
This list includes a number of resources for students who want to teach themselves C++ or who feel that they would benefit from a C++ review before going from an introductory programming class into CSCI 2270 (Data Structures). Please note that we do not officially endorse these websites. However, most of these resources have been recommended in the past by the instructors who teach our CSCI 1300 (Intro to Programming) and CSCI 2270 courses as of summer 2020.
If you have specific questions about the content covered in either CSCI 1300 or CSCI 2270, please reach out to the faculty member who is teaching the course during the current (or previous) fall or spring semester. Please note that these resources are not just for computer science majors; we want anyone who will be taking CSCI 1300 or CSCI 2270 to feel free to access them.
Top Resources
- C++ for CSCI 1300 (YouTube)
- Buckys C++ Programming Tutorials (YouTube)
- HackerRank
- GeeksforGeeks
Other Resources
For students who have AP or community college credit for CSCI 1300, but in a language other than C++, we recommend that you reach out to your academic advisor to discuss your options and determine if you are ready to move on to CSCI 2270.
Please see our Career Resources page for a list of recommended resources for preparing for a career in computing.