Skip to main content

Computer Programmers

Create, modify, and test the code and scripts that allow computer applications to run. Work from specifications drawn up by software and web developers or other individuals. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.

What education do people in this job actually have?

O*NET incumbent survey (2024)
Some college / associate's 12% Bachelor's degree 88% Graduate degree 0%

How EWU courses prepare you for this work (15 of 17 O*NET tasks have course evidence)

  • Write, compile and execute a complete program for a given problem.
  • Implement a program that uses an array to solve a problem.

Interpret output from statistical software correctly

  • Compare the error from a numerical calculus approximation to the corresponding error estimate;
  • Implement a numerical approximation to a solution of an initial value problem;

Write rigorous correctness proofs for algorithms.

  • Compute local truncation error and understand its relationship to the global error in a given numerical scheme.
  • Employ the appropriate numerical technique to approximate a solution of an initial value problem, boundary value problem, or partial differential equation, with careful consideration of initial or boundary data.

Design a closed-loop system that meets specified transient and steady state error goals.

use numerical schemes to find approximate solutions to initial value problems utilizing mathematical software such as Matlab or Mathematica.

  • Write, compile and execute a complete program for a given problem.
  • Implement a program that uses an array to solve a problem.
  • Write, compile and execute a program that will implement the Comparable interface.

Program a memory management simulation.

Implement an iterative method to solve a problem (e.g. matrix decomposition, solution of a linear system of equations, determining eigenpairs of a matrix)

use numerical schemes to find approximate solutions to initial value problems utilizing mathematical software such as Matlab or Mathematica.

Design a closed-loop system that meets specified transient and steady state error goals.

Visualize models graphically

Create an interpreter or compiler from a Backus-Naur specification. (iv)

  • Write, compile and execute a complete program for a given problem.
  • Implement a program that uses an array to solve a problem.

Program a memory management simulation.

Construct spacetime diagrams for multiple reference frames.

Interpret output from statistical software correctly

  • Write, compile and execute a complete program for a given problem.
  • Implement code that reads information from a file.
  • Write, compile and execute a program that will implement the Comparable interface.
  • Implement a program that uses an array to solve a problem.
  • Write, compile and execute a complete program that will override the equals method.

Create an interpreter or compiler from a Backus-Naur specification. (iv)

  • Write, compile and execute a complete program for a given problem.
  • Implement a program that uses an array to solve a problem.
  • Perform in-order, pre-order, post-order, and possibly Euler traversals of a tree.
  • Implement a hash table and use Java built-in HashTable/HashMap class.
  • Understand merge sort and quick sort algorithms, and analyze their time complexity.

Program a memory management simulation.

  • Implement a program that uses an array to solve a problem.
  • Write, compile and execute a complete program for a given problem.
  • Implement code that reads information from a file.

Program a memory management simulation.

Interpret output from statistical software correctly

  • Write, compile and execute a complete program for a given problem.
  • Implement a program that uses an array to solve a problem.
  • Write, compile and execute a program that will implement the Comparable interface.

Program a memory management simulation.

Implement an iterative method to solve a problem (e.g. matrix decomposition, solution of a linear system of equations, determining eigenpairs of a matrix)

  • Write, compile and execute a complete program for a given problem.
  • Implement a program that uses an array to solve a problem.

Interpret output from statistical software correctly

Write rigorous correctness proofs for algorithms.

Program a memory management simulation.

  • Implement a program that uses an array to solve a problem.
  • Write, compile and execute a complete program for a given problem.
  • Implement code that reads information from a file.

Program a memory management simulation.

  • Write, compile and execute a complete program for a given problem.
  • Implement a program that uses an array to solve a problem.
  • Implement code that reads information from a file.

Understand the foundation of AI

  • Write, compile and execute a complete program for a given problem.
  • Implement a program that uses an array to solve a problem.
  • Write, compile and execute a program that will implement the Comparable interface.

Program a memory management simulation.

Analyze a communication system and measure a performance in terms of probability of

Program a memory management simulation.

Implement a program that uses an array to solve a problem.

  • Implement a program that uses an array to solve a problem.
  • Write, compile and execute a complete program for a given problem.

Write, compile and execute a complete program for a given problem.

Program a memory management simulation.

Program a memory management simulation.

Where to focus your applied learning (2 taskes without course evidence yet)

These O*NET tasks don't have direct course-objective evidence in the Math BS catalog yet. Each is an opportunity to gain hands-on preparation through an applied project, MAA-sponsored partnership, elective, or internship. The Math BS applied-projects page has examples of project-driven learning that could close these kinds of gaps.

More O*NET details for this occupation (skills, knowledge, tools & technology)
Skills (42)
Basic Skills: Active Learning
Basic Skills: Active Listening
Basic Skills: Critical Thinking
Basic Skills: Learning Strategies
Basic Skills: Mathematics
Basic Skills: Monitoring
Basic Skills: Reading Comprehension
Basic Skills: Science
Basic Skills: Speaking
Basic Skills: Writing
+ 32 more on O*NET
Knowledge (6)
Administration and Management
Computers and Electronics
Customer and Personal Service
Engineering and Technology
English Language
Mathematics
Tools & technology (30)
Computer servers: Computer servers
Data base management system software: Amazon DynamoDB
Data base management system software: Amazon Kinesis
Data base management system software: Apache Cassandra
Data base management system software: Apache Hadoop
Data base management system software: Apache Pig
Data base management system software: Apache Solr
Data base management system software: CAST SQL Builder
Data base management system software: Computer Associates integrated data management system CA-IDMS
Data base management system software: Data definition language DDL

O*NET's tools-and-technology list aggregates software encountered across the occupation's many sub-roles, so the list can be broad. Treat it as a directory of what people in this job might use, not a checklist of what every job requires.

Where this data comes from. Occupation descriptions, tasks, skills, and education-incumbents survey come from the U.S. Department of Labor's O*NET 30.2. Washington-state pay and employment projections come from WA Employment Security Department and the BLS Occupational Employment and Wage Statistics. Live job postings come from CareerOneStop, refreshed nightly from a scrape that tracks the original posting date and the date our system last saw each posting live.

How we connect courses to occupations. Course catalog descriptions and program-level learning outcomes are indexed alongside O*NET task statements. Where a course's language aligns with a task an occupation requires, we mark it as evidence of preparation. Faculty review each candidate match and either confirm or veto it; only confirmed matches surface in totals.

← Back to Mathematics