Getting Started with Computer Programming

Course sequencing

The CSS Division offers a variety of introductory computing courses for pre-majors as well as courses for students pursuing non-CSS majors. Please see the following flowcharts to help you choose the right first computing course for you:

  • CSS major flowchart. For students intending to major Computer Science and Software Engineering (CSSE), Applied Computing (AC), Computer Engineering (CompE), or Interactive Media Design (IMD).
  • Non-CSS major flowchart. For students not intending to major in a CSS major, but that want to learn the basics of computer science and programming.

Your pre-major or major advisor can give you additional assistance. To contact a School of STEM Advisor, please call (425) 352-3746 or send an email to

Assessing your programming experience

Even though Intro Programming I (CSS 142 + CSSSKL 142 lab) has no prerequisites, students often start the course with different levels of experience. Students find it helpful to learn with others of a similar skill level, so we often designate one or more sections of CSS 142 and CSSSKL 142 to be for students with limited programming experience.

Answer the questions below provide a self-assessment to help determine whether you have limited programming experience.

Question 1:

Have you ever written a program (regardless of length) in a text-based programming language (e.g., Java, C++, C#, Python, etc.)?

If you answered “no,” you probably have limited programming experience. If you answered “yes,” please continue to the next question.

Question 2:

Which of the following topics do you understand well enough to write a short program (under 50 lines) using the concept?

  • Variables
  • Expressions
  • If statements
  • Loops
  • Nested loops
  • Arrays
  • Classes

If you answered “no” to 4 or more of the above topics, you may have limited programming experience.