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
- B.A. in Applied Computing
- B.A. in Business Administration, Management Information Systems (MIS) concentration
- B.A. in Computer Science & Software Engineering
- B.A. in Mathematical Thinking and Visualization (MTV)
- B.A. in Physics
- B.A. in Science, Technology, and Society (STS)
- B.S. in Earth System Science (ESS)
- B.S. in Mathematics
- B.S. in Physics
- B.S.C.E. in Computer Engineering
- B.S.E.E. in Electrical Engineering
- Minor in Mathematics
- Minor in Physics & Astronomy
- Minor in Computer Science & Software Engineering (CSSE)
- Minor in Information Technology (IT)
- Minor in Geographic Information Systems (GIS)
- Minor in Science, Technology, and Society (STS)
Graduate programs
- Graduate Certificate in Software Design & Development
- Graduate Certificate in Electrical & Computer Engineering Foundations
- Master of Business Administration, Technology
- M.S. in Accounting
- M.S. in Computer Science & Software Engineering
- M.S. in Cybersecurity Engineering
- M.S. in Electrical & Computer Engineering