Jobs

Jobs Mailing List

The Computer Science Department maintains a moderatedÌýJobs Mailing List. The list is open to anyone, students, alumni and even the public at large, who wishes to receive email job postings. The jobs are typicallyÌýfull-time salaried positions for those who have graduated, but can include contract work or other similar opportunities for industry professionals. This list is moderated to eliminate spam. If you'd like to join or post to the Jobs List, please click on the link on the right.

Open Faculty and Staff Positions

Every semester, the Department of Computer Science hires lecturers to teach a variety of classes to our students. These courses encompass a wide range of topics including (but not limited to): programing, data structures, algorithms, database systems, operating systems, software engineering methods and tools, data mining, information visualization, cybersecurity, and network systems.Ìý

Needs for courses vary on a semester-by-semester basis; if you are interested in teaching for the department we encourage you toÌýcontact usÌýwith information on your areas of specialization. The title of Lecturer is given to individuals hired to teach on a course-by-course basis.

The lecturer title may also be granted to a person of high repute in a field of endeavor related to an academic discipline who has been invited by the University to give a series of lectures or otherwise render instruction.ÌýLecturers must have a graduate degree and/or advanced experience in their field of expertise that provides them with the qualifications to teach the particular course or courses they are hired for.ÌýCompensation ranges fromÌý$7,000 to $14,000 per course, depending on the teaching assignment and qualifications.

Lecturer faculty with 50% appointments or greater are eligible for benefits with the exception of retirement benefits; however, not eligible for leave as outlined on theÌý.Ìý Lecturer positions are not permanent employees and areÌýhired on a temporary basis to teach one or more courses per term. This position is eligible for employee sick leave, earned monthly, on a prorated basis.ÌýLecturers are employees at willÌýand not eligible for tenure.ÌýFor more information, and to review open opportunities for permanent faculty positions, please visitÌý91¸£ÀûÉç Jobs.

Interested applicants for Lecturer openings in Computer ScienceÌýmay email a current CV/resume to Kailee Brown.

Applications will be accepted until the position is filled, however for full consideration please send a resume/CV by:

  • Fall term July 4
  • Spring term December 1
  • Summer term March 1Ìý

Student/Alumni Jobs

Course Support Positions for Undergraduates and Graduate Students

We provide various types of support for our classes, including Course Managers, undergraduate Course Assistants, Undergraduate Teaching Assistants,ÌýGraders and Post-Baccalaureate Student Assistants. These programs provide opportunities for undergrad and grads to assist their peers as they pursue the study of computer science.Ìý

Job responsibilities

Course Managers provide assistance in managing the following: TAs' logistical support (booking rooms, updating Canvas page, answering students' emails), streamline the duties of graders and CAs, dealing with disability accommodation requests, and other logistical issues associated with large classes. Help faculty with creating quizzes, assignments, rubrics and solutions to assignments/quizzes. CM can occasionally grade or handle regrade requests and often they hold office hours. Course Managers must attend mandatory trainings.Ìý CMs are expected to hold more managerial and instructional support roles.Ìý CMs are not expected to host recitations, exam review sessions, or guest lecture.

Pay

$25 per hour

Skillsets Needed

  • Proficiency with C++ and Python programming languages
  • Experience designing, implementing, testing, and debugging programs using a high-level programming language and related tools
  • Experience with version control, archives, and other tools that manage source code
  • Knowledge and experience with software engineering techniques
  • Knowledge and experience with data structures and algorithms
  • Knowledge and experience with learning management systems, discussion forums, video conference software, and other course support tools
  • Good written and oral communication skills
  • Ability to work in a team, sometimes remotely
  • Good organizational skills. Proactive
  • Flexible, patient, creative
  • Resourcefulness!
  • Positive attitude
  • Eager to continue to learn and improve
  • Enthusiasm towards the topic taught. Brings passion into the classroom and at office hours.
  • Interpersonal skills; desires to build good working relationships with students and team members alike
  • Ability to encourage a growth mindset in our students; rather than finding errors/issues in the students' solutions and fixing them, practice ways to encourage the students to find and fix the errors, and arrive at the correct solution on their own.Ìý

Eligibility Requirements

  • Preference will be given to applicants who are currently enrolled in Computer ScienceÌýgraduate and/or undergraduate degree programs. However, qualified applicants from non-CS majors will be considered on a case-by-case basis, if the teaching faculty of record for the class makes the request in a timely manner (at least two weeks before the application deadline for students).
  • Preference will beÌýgiven to students who have completed the class they are supporting.
  • Preference willÌýbe given to students who have been a Teaching Assistant, or a Course Manager or a grader in the department.
  • Students cannot be enrolled in the class they support.Ìý Ìý

Once selected students need to complete the campus FERPA training and Discrimination and Harassment training.Ìý

How to apply

Please Ìýonline.ÌýYou must be logged into Google Suite with your CU credentials to complete this form. See the for help.

Application Deadlines

Fall, Spring and Summer semesterÌýopportunitiesÌýare available.

  • For Fall term priority will be given to those who apply by the first Monday of August.
  • For Spring term priority will be given to those who apply the third Monday of November.
  • For Summer term priority will be given to those who apply by the third Monday of February.

Ìý

Job responsibilities

Undergraduate Teaching Assistants support specific courses including hosting recitations or workgroups, as well as providing office hours and other support. These positions involve greater direct classroom instructional duties and responsibility for pedagogical materials and plans. UTAs are selected by and report to the instructor(s) of the course. The exact number of positions and selection of courses is subject to change according to the needs of the semester.

The Department is seeking UTAs for: CSCI 2824 Discrete Structures and CSCI 1300 Computer Science 1: Starting Computing. We are considering UTAs for additional courses as resources allow,Ìýthough this is not yet confirmed. Apply if interested.

Time commitment

Generally around 10 hours per week for the duration of the term.

Pay

$16Ìýper hour.

Skillsets Needed

  • Proficiency with C++ and Python programming languages
  • Experience designing, implementing, testing, and debugging programs using a high-level programming language and related tools
  • Experience with version control, archives, and other tools that manage source code
  • Knowledge and experience with discrete structures, data structures and algorithms
  • Knowledge and experience with learning management systems, discussion forums, video conference software, and other course support tools
  • Good written and oral communication skills
  • Ability to work in a team, sometimes remotely
  • Good organizational skills. Proactive
  • Flexible, patient, creative
  • Resourcefulness!
  • Positive attitude
  • Eager to continue to learn and improve
  • Enthusiasm towards the topic taught. Brings passion into the classroom and at office hours.
  • Interpersonal skills; desires to build good working relationships with students and team members alike
  • Ability to encourage a growth mindset in our students; rather than finding errors/issues in the students' solutions and fixing them, practice ways to encourage the students to find and fix the errors, and arrive at the correct solution on their own.Ìý

For holding recitations and workgroup:

  • Interpersonal skills; desires to build good working relationships with students and team members alike
  • Ability to work with a group of students
  • Ability to spot and deal with challenging behavior
  • Resourcefulness! Ability to find resources and solutions for students' questions
  • Enthusiasm towards the topic taught. Brings passion into the classroom and at office hours.

Eligibility Requirements

  • Undergraduate Teaching Assistants must have had Learning Assistant pedagogical training or equivalent.
  • Applicants must be currently enrolled in 91¸£ÀûÉç undergraduate degree programs.

How to apply

To apply,Ìý. You must be logged into Google Suite with your CU credentials to complete this form. See the for help.Ìý

Application Deadlines

Fall and Spring semester opportunities are available.

  • ApplicationsÌýare now open.
  • Undergraduate Teaching Assistant positions are filled on a rolling basis.

Job responsibilities

Undergraduate Course AssistantsÌý(CAs) support the students and instructors of a specific course. A CA's primary role is to hold office hours to provide support for students who have questions about course material. CAs can also assist with projects assigned by the instructor, be asked to attend course planning meetings, host review sessions, provide basic technical assistance to students of the course, and assist students during lab or recitation sections. This position does no grading and no direct classroom instruction. CAs are supervised by the Manager of the Computer Science Course Assistant Program.

The classes supported by Course Assistants are listed below. Note that not all courses are offered each term, and some courses may not hire CAs for every term offered. Students apply to the CA Program and may list their top three course choices on their application. The CA selection committee may offer applicants any of their top three choices depending on department need.

  • CSCI 1000 Computer Science as a Field of Work and Study
  • CSCI 1200ÌýIntroduction to Computational Thinking
  • CSCI 2270 Data Structures
  • CSCI 2275 Programming and Data Structures
  • CSCI 2400 Computer Systems
  • CSCI 2820 Linear Algebra with Computer Science Applications
  • CSCI 2824 Discrete Structures
  • CSCI 3010 Programming Project Workshop
  • CSCI 3022 Introduction to Data Science with Probability and Statistics
  • CSCI 3104 Algorithms
  • CSCI 3155 Principles of Programming Languages
  • CSCI 3202 Introduction to Artificial Intelligence
  • CSCI 3287 Design & Analysis of Data Systems
  • CSCI 3308 Software Development Methods & Tools
  • CSCI 3753 Design & Analysis of Operating Systems
  • CSCI 4622 Machine Learning

Time commitment

Generally 6 to 10 hours per week for the duration of the term.

Pay

$16Ìýper hour.

Eligibility Requirements

  • CAs must have taken the course they support (or close equivalent) with a B or better.
  • Applicants must be currently enrolled in 91¸£ÀûÉç undergraduate degree programs.

How to apply

Step 1:Ìý.ÌýYou must be logged into Google Suite with your CU credentials to complete this form. See the OIT Google Suite page for help.

Step 2:ÌýHave a 91¸£ÀûÉç faculty member, instructor, or Computer Science Teaching Assistant submit theÌýÌýon your behalf. (If you are applying for both summer and fall, we can use the same recommendation for both applications.) Faculty/Instructors/TAs must be logged into Google Suite with their CU credentials to complete this form. See theÌýÌýfor help.

Application Deadlines

Fall, SpringÌýand Summer semester opportunities are available. Application review for each term will continue until all positions have been filled; this can take multiple weeks.

  • Applications for summer open March 1 and close April 15.
  • Applications for fall open March 1 and close July 15.
  • Applications for spring open October 1 and close November 17.

Contact Nicole Morris if you have questions about CA positions or the CA application/selection atÌýnicole.morris-2@colorado.edu.

Job responsibilities

Graders mainly grade, support other class staff with grading, manage piazza or communication platforms and provide software support. Create solutions for assignments/quizzes.ÌýÌý

PayÌý

$17Ìýper hour.Ìý

Skillsets Needed

  • Proficiency with C++ and Python programming languages
  • Experience designing, implementing, testing, and debugging programs using a high-level programming language and related tools
  • Experience with version control, archives, and other tools that manage source code
  • Knowledge and experience with software engineering techniques
  • Knowledge and experience with data structures and algorithms
  • Knowledge and experience with learning management systems, discussion forums, video conference software, and other course support tools
  • Good written and oral communication skills
  • Ability to work in a team, sometimes remotely
  • Good organizational skills. Proactive
  • Flexible, patient, creative
  • Resourcefulness!
  • Positive attitude
  • Eager to continue to learn and improve
  • Enthusiasm towards the topic taught. Brings passion into the classroom and at office hours.
  • Interpersonal skills; desires to build good working relationships with students and team members alike
  • Ability to encourage a growth mindset in our students; rather than finding errors/issues in the students' solutions and fixing them, practice ways to encourage the students to find and fix the errors, and arrive at the correct solution on their own.Ìý

Eligibility Requirements

Preference will be given to applicants who are currently enrolled in Computer ScienceÌýgraduate and/or undergraduate degree programs. However, qualified applicants from non-CS majors will be considered on a case-by-case basis, if the teaching faculty of record for theÌýclass makes the request in a timely manner (at least two weeks before the application deadline for students). Preference is also given to students who have completed the class they are supporting. Students cannot be enrolled in the class they support.ÌýÌýStudents with undergraduate status are restricted from grading graduate-level classes which includes combined undergraduate/graduate classes.

Once selected students need to complete the campus FERPA training and Discrimination and Harassment training.Ìý

How to apply

Please Ìýonline.ÌýÌýYou must be logged into Google Suite with your CU credentials to complete this form. See the for help.

Application Deadlines

Fall, Spring and Summer semester opportunities are available.

  • For Fall term priority will be given to those who apply by the first Monday of August.
  • For Spring term priority will be given to those who apply the third Monday of November.
  • For Summer term priority will be given to those who apply by the third Monday of February.

Job Responsibilities

Post-Baccalaureate Student Assistants (SAs) support the students and instructors of a specific course. A SA's primary role is to support the students and instructors of a specific course, or support the Lead Instructor in moderating student communication channels. This includes supporting the course instructor throughout the semester with duties such as grading, providing basic technical assistance to students of the course, and assisting students on the course web forum. This position does no direct classroom instruction.Ìý

SAs are supervised by the Program Coordinator of the Computer Science Post-Baccalaureate program.Ìý

The classes supported by Student Assistants are listed below. Note that not all courses are offered each term, and some courses may not hire SAs for every term offered. Instructors select the students based on their experience with the material.Ìý

  • CSPB 1300 Computer Science 1 : Starting Computing
  • CSPB 2270 Computer Science 2: Data Structures
  • CSPB 2400 Computer Systems
  • CSPB 2820 Linear Algebra
  • CSPB 2824 Discrete Structures
  • CSPB 3022 Introduction to Data Science with Probability and Statistics
  • CSPB 3104 Algorithms
  • CSPB 3155 Principles of Programming Languages
  • CSPB 3202 Introduction to Artificial Intelligence
  • CSPB 3287 Design and Analysis of Database Systems
  • CSPB 3308 Software Development Methods and Tools
  • CSPB 3702 Cognitive Science
  • CSPB 4122 Information Visualization
  • CSPB 4502 Data Mining

Starting PayÌý

$19.00 - $23.00 per hourÌý

Eligibility Requirements

  • SAs must have taken the course they support (or close equivalent) with a B or better.
  • Applicants must be currently enrolled in a Computer Science degree program at 91¸£ÀûÉç.

Role Requirements

  • Proficiency with C++ and PythonÌý programming languages
  • Experience designing, implementing, testing, and debugging programs using a high-level programming language and related tools
  • Good written and oral communication skills
  • Ability to work in a team, sometimes remotely
  • Good organizational skills. Proactive
  • Flexible, patient, creative
  • Resourcefulness!
  • Positive attitude
  • Eager to continue to learn and improve
  • Enthusiasm towards the topic taught. Brings passion into the classroom and at office hours.
  • Interpersonal skills; desires to build good working relationships with students and team members alike
  • Ability to encourage a growth mindset in our students; rather than finding errors/issues in the students' solutions and fixing them, practice ways to encourage the students to find and fix the errors, and arrive at the correct solution on their own.ÌýÌý

​Desired Qualifications:Ìý

  • Experience with version control, archives, and other tools that manage source code
  • Knowledge and experience with software engineering techniques
  • Knowledge and experience with data structures and algorithms
  • Knowledge and experience with learning management systems, discussion forums, video conference software, and other course support tools

Time Commitment

5 to 20 hours per week for the duration of the term, depending on the needs of the instructor and course.

How to apply

Applications are currently open.

To apply contact Elisabeth Stade

Application Deadlines

Fall, Spring and summer semester opportunities are available. Application review for each term will take place on a rolling basis and continue until all positions have been filled. This can take multiple weeks.Ìý

Contact Hoang TruongÌýif you have questions about SA positions or the SA application/selection.

Job Responsibilities

The Computer Science department at the 91¸£ÀûÉç is seeking highly qualified students to serve as CSEL Ambassadors. CSEL is the acronym for the CS Education Lab, located in the Computer Science wing of the Engineering Center. As a CSEL Ambassador, you’ll facilitate the operations of the CSEL and foster a positive community for CS majors and other undergraduates taking classes from the Computer Science department. Typical duties for this position include managing access to study rooms, creating a positive working environment, directing students throughout the engineering center, and providing a Computer Science student perspective as needed.ÌýÌý Ìý

Time Commitment

5-10 hours per week, Must be able to work between the hours of 9ÌýAM to 8 PM, Monday-Friday. Your schedule will be flexible around any class/other commitments that you have. Commitment is for the semester to which you apply, but may be eligible for additional semesters based on job performance.Ìý

Pay

$17/hourÌý

Preferred Qualifications

  • Knowledge of the computer science department and the CS undergraduate curriculum
  • Good organizational skills
  • Flexible, patient, creative
  • Positive attitude
  • Good interpersonal skills; desires to build good working relationships with students and team members alike

Eligibility Requirements

  • Current undergraduate Computer Science student at 91¸£ÀûÉç
  • Rank:ÌýStudents must hold a Sophomore rank or higher
  • Minimum 2.80 GPA
  • Students must be in good standing with the university.
  • Able to attend in-person training one week prior to the start of the semester

How to Apply

Complete the Please be aware that you will need to submit an unofficial transcript during the application process to verify you meet the GPA requirement. You must be logged into Google Suite with your CU credentials to complete this form. See the for help.

If you have any questions about the application process, please contact Michelle Schol.Ìý

Application Deadlines

Fall and Spring semester opportunities are available.ÌýApplication review for each term will continue until all positions have been filled; this can take multiple weeks.

  • For Fall term priority will be given to those who apply by the lastÌýMonday of July. Applications will open the first day of registration for Fall Semester.
  • For Spring term priority will be given to those who apply by the last Monday of November. Applications will open in mid October.Ìý

Contact

If you have questions about the CSEL Ambassador position or the Ambassador application/selection process please contact Michelle Schol.

Job Responsibilities

Some of the responsibilities associated with the Networking Lab Assistant role include but are not limited to:

  • Introduce and train new lab students into how to interconnect compute, storage and networking equipment for their course deliverables/assignments.
  • Supervise that student experiments are executed in a safe and professional matter.
  • Document and/or perform compute/network equipment installation and repair.
  • Assist Faculty in the setup of lab experiments used for academic instruction.
  • Provide ocasional support in revising and grading lab implementations under instructor supervision.

PayÌý

$16/hr-$20/hr depending on qualifications.

Preferred Qualifications

  • Strong understanding of network technologies and protocols
  • Ability to install operating systems and applications in bare metal and virtual environments.
  • Familiarized with networking cabling installation and troubleshooting.
  • Some proficiency in the configuration of networking equipment such as Cisco, Juniper or Arista is required.
  • Ability to communicate effectively with groups of people in a professional manner.
  • Knowledge about power distribution systems in a computer center environment is desirable.
  • Able to lift 40 pounds.

How to apply

Please submit to apply if you are interested in the Lab Assistant Position.

Job responsibilities

ISS Managers provide assistance in managing the following: TAs' logistical, streamline the duties of TAs, Graders and CMs. Provide training to TAs, CMs and graders. Interview prospective TAs and help the department in creating a TA pool for the department. Coordinate with other campus resources to bring relevant workshops to the ISS community. ISS Managers are expected to hold more managerial and instructional support roles.Ìý Other course support duties, as assigned.

Pay

$25 per hour

Skillsets Needed

  • Leadership skills
  • Proficiency with C++ and Python programming languages
  • Experience designing, implementing, testing, and debugging programs using a high-level programming language and related tools
  • Experience with version control, archives, and other tools that manage source code
  • Knowledge and experience with software engineering techniques
  • Knowledge and experience with data structures and algorithms
  • Knowledge and experience with learning management systems, discussion forums, video conference software, and other course support tools
  • Good written and oral communication skills
  • Ability to work in a team, sometimes remotely
  • Good organizational skills. Proactive
  • Flexible, patient, creative
  • Resourcefulness!
  • Positive attitude
  • Eager to continue to learn and improve
  • Enthusiasm towards the topic taught. Brings passion into the classroom and at office hours.
  • Interpersonal skills; desires to build good working relationships with students and team members alike
  • Ability to encourage a growth mindset in our students; rather than finding errors/issues in the students' solutions and fixing them, practice ways to encourage the students to find and fix the errors, and arrive at the correct solution on their own.Ìý

Eligibility Requirements

Applicants must be currently enrolled in CS graduate degree programs and selected as one of the Lead TAs of the Department.

How to apply

PleaseÌýÌýonline.ÌýYou must be logged into Google Suite with your CU credentials to complete this form. See theÌýfor help.

Application Deadlines

Fall, Spring and Summer semesterÌýopportunitiesÌýare available.

  • For Fall term priority will be given to those who apply by the first Monday of August.
  • For Spring term priority will be given to those who apply the third Monday of November.
  • For Summer term priority will be given to those who apply by the third Monday of February.

Job Responsibilities

  • Network Configuration and Optimization: Collaborate with instructors to design and implement SDN-based network configurations for lab exercises. Utilize automation tools to streamline the deployment and optimization of network resources, ensuring seamless functionality and performance.
    Ìý
  • Technical Troubleshooting and Support: Provide expert assistance in diagnosing and resolving network-related issues encountered by students. Implement automated monitoring systems to proactively identify potential problems, enabling swift remediation.
    Ìý
  • Lab Environment Automation: Develop and maintain automated procedures for setting up and tearing down lab environments. Implement SDN-based solutions to create dynamic, on-demand network topologies that align with specific instructional requirements.
    Ìý
  • Network Automation Scripting: Design and implement scripts to automate routine network management tasks, such as device provisioning, configuration backups, and software updates. Utilize programming languages like Python and automation frameworks like Ansible to achieve operational efficiency.
    Ìý
  • SDN Policy Management: Collaborate with instructors to define and enforce network policies using SDN controllers. Develop automated policy enforcement mechanisms that adapt to changing instructional needs and network conditions.
    Ìý
  • Lab Exercise Enhancement: Work alongside course instructors to enhance lab exercises by integrating SDN technologies and automation concepts. Provide hands-on guidance to students, ensuring they gain practical experience in working with cutting-edge networking paradigms.
    Ìý
  • Documentation and Training: Create comprehensive documentation for SDN-based lab setups and network automation workflows. Co