Getting Started with Computer Science

This page introduces information on how to approach introductory computer science courses and finding computer science-related programs at 56³Ô¹ÏÍø Bothell. For additional help contact your advisor.

Page navigation:


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.

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 Where to Start flowchart, or read below, to help you choose the right first computing course for you.


Introductory courses

CSS 101/BIS 111: Digital Thinking

Explores computational thinking and its societal impacts, computing history, ethical considerations, computer usage, the internet; and how computers solve problems, represent data, and search for information.

  • Skills/concepts: Computational problem solving, understanding computing impacts, ethical issues in technology.
  • Tools/languages: Processing (a Java development environment)

CSS 107: Introduction to Programming Through Animated Storytelling

Start your programming
experience with virtual
worlds, creation of characters, games,
short stories, and 3D motion. Teaches object-oriented programming via storytelling and animation, incorporating visual storytelling techniques and programming fundamentals.

  • Skills/concepts: Algorithmic thinking, loops, variables, IDE use, visual storytelling, video creation, scriptwriting.
  • Tools/languages: Scratch

CSS 110: Introduction to Cybersecurity

Provides a foundational understanding of the digital security landscape for those without prior technical experience, introducing: privacy, cryptography, social and ethical issues, hacking, networking, legal aspects, and digital forensics.

  • Skills/concepts: Cybersecurity principles, privacy laws, encryption, digital forensics, password management.
  • Tools/languages: N/A.

CSS 112: Introduction to Programming for Scientific Applications

Focuses on programming fundamentals using Python for scientific applications, enhancing problem-solving skills in computational fields.

  • Skills/concepts: Control structures, data types, functions, software engineering basics, scientific computing applications.
  • Tools/languages: Python
  • Textbooks/resources: “A Gentle Introduction to Python Programming for Scientists and Engineers” by Johnny Lin.

CSS 132: Computer Programming for Engineers I

Introduces programming with an emphasis on engineering applications, covering fundamentals, computer organization, and algorithmic thinking.

  • Skills/concepts: Programming fundamentals, algorithmic thinking, software engineering concepts.
  • Tools/languages: C++; Repl.it

CSS 142: Computer Programming I

Introduces general programming fundamentals within various contexts. Every quarter, there are designated offerings of this course specifically designed for students with limited programming experience.

  • Skills/concepts: Problem-solving, design, programming fundamentals, software engineering, societal impacts of computing.
  • Tools/languages: Java
  • Textbooks/resources: “Absolute Java” by Walter Savitch

Programs to consider

Many programs at 56³Ô¹ÏÍø Bothell can help you develop computer science skills. Consider the following programs to see what the best fit is for you.

Undergraduate programs

Graduate programs