Learn computer science and cybersecurity
The same computer science is here in several forms. Read a lesson, look something up, answer questions that find what you have wrong, write the code yourself, or work a path room by room. Start with whichever one sounds like you, and switch whenever you want.
Lessons to read
This is for you if you want the whole explanation in order before you touch a keyboard.
Every lesson, in reading order
Pick a course and read its lessons in the order they are meant to be read. Programming Principles I holds 28 lessons and Programming Principles II holds 75.
Wherecs.jdoner.meSign inNot needed
The arrays and file lessons, one concept each
One page per concept from the CSCD 210 arrays and file units, written out in full, in the order the course teaches them. Start anywhere and read one idea at a time.
Wherethis siteSign inNot needed
Programming Principles I
The full outline for CSCD 210, from installing Java through data types, variables, and the rest, with every lesson listed in order.
Wherecs.jdoner.meSign inNot needed
Programming Principles II
The full outline for CSCD 211, which continues CSCD 210 into composition, recursion, data abstraction, polymorphism, and inheritance.
Wherecs.jdoner.meSign inNot needed
Reference pages
This is for you if you would rather scan one dense page than read a lesson that walks you through it.
Course catalog
Every course in the Eastern Washington University computer science and cybersecurity programs, grouped into programming foundations, systems and data, and cybersecurity.
Wherecs.jdoner.meSign inNot needed
Degree maps
The courses in each degree, in the order the catalog puts them, on one page. Built from the Eastern Washington University catalog for 2024 to 2025.
Wherecs.jdoner.meSign inNot needed
Cybersecurity concept map
Information security drawn as circles inside circles. Tap a circle to go in and tap the background to come back out.
Whereinfosec.jdoner.meSign inNot needed
Questions that find what you have wrong
This is for you if you want to find out what you actually understand, and you would rather find out now.
compareTo and copy constructors
The questions students actually ask about compareTo, written out with the answers. It starts from the wrong idea most people arrive with and works to the right one.
Wherecs.jdoner.meSign inNot needed
Multiple-choice questions, one wrong idea each
Questions written so that each wrong answer names a specific wrong idea, which means a wrong answer tells you what to go fix rather than only that you missed it.
Waiting on The practice site at learn.jdoner.me is not open yet.
StatusNot open yet
Write the code yourself
This is for you if you only believe you know something once you have written it from an empty file.
Code practice and labs
Read a prompt, write the code in the browser, and run it. Your output is checked against the output the problem asks for.
A new address, learn.jdoner.me, is planned for this. That address does not work yet.
Wherecode.jdoner.meSign inGitHub account
Capstone challenges that put a whole unit together
Each challenge is one program built from a whole unit of skills. The page states the task, the rules, and what a finished run looks like, and you write the code yourself.
Wherethis siteSign inNot needed
Practice that plays like a game
This is for you if a thing you can poke at teaches you more than a paragraph does.
CSCD 211 review challenges
A capture-the-flag board built from the mistakes students really make. You read a prompt, work the problem on paper or in your editor, and submit the answer.
Built for the CSCD 211 review in summer 2026. It keeps a public scoreboard.
Whereplay.jdoner.meSign inGitHub account and a course password
One skill tree across every course
Every skill in every course on one map, so finishing one shows you what it opens up next and where you already are.
Waiting on The practice site at learn.jdoner.me is not open yet.
StatusNot open yet
Paths for catching up
This is for you if you are behind, or a course is starting and one piece of it never landed.
A path is a short list of rooms in order. Each room is one idea, a few tasks, and a self check. You can open any room at any time and you can leave and come back.
Arrays and file input and output, from zero
Fifteen rooms that take you from what an array is to writing a file and reading it back into an array that fits it exactly.
Wherethis siteSign inNot needed
The arrays unit, room by room
Fourteen rooms covering the whole CSCD 210 arrays unit in its teaching order, one room per idea, for walking the unit start to finish.
Wherethis siteSign inNot needed
AI tools for coursework
Using AI tools without handing them the work you are supposed to be learning.
Waiting on Named and scoped. No rooms are written yet.
StatusNot open yet
Competition team on-ramp
From no competition experience to your first event.
Waiting on Named and scoped. No rooms are written yet.
StatusNot open yet
Free Security+ preparation
Preparation for the Security+ exam built from free sources only.
Waiting on Named and scoped. No rooms are written yet.
StatusNot open yet
If you are in one of these courses right now
This is for you if you are enrolled and you want your own place to start each day.
CSCD 211 dashboard
Your own page for CSCD 211, with the next thing to do and the lab pages.
Wherecscd211.jdoner.meSign inGitHub account
Where these skills go
This is for you if you want to see what the work is called and what it asks for.
CS job board
Open jobs near Spokane, sorted by what you can already do, with the skills each posting asks for and where the posting came from.
The postings do not show until you sign in.
Whereboard.jdoner.meSign inGitHub account