Lafayette College computer science tutoring

One-on-one help from a current senior in the major. Bring the course that's moving too fast, and we'll work out exactly where it stopped making sense.

$55 per 60-minute session, online. Independent tutoring, not a college service.

Markle Hall on the Lafayette College campus in Easton, Pennsylvania

Why ask another Lafayette student?

I'm working through the same major, under the same requirements, and I've spent the last few years using this material to build software. Locava started with Lafayette students and grew to more than 10,000 users. So I can explain what a data structure is for, as well as how it works.

CS 150: references

Most linked list and tree bugs come from one misunderstanding: two variables can point to the same object. Once you draw memory, these get much easier.

CS 202: the proof

People can often get the algorithm and still lose points explaining why it works. We practice stating a loop invariant or setting up a recurrence, then writing it in plain sentences first.

CS 203: the layers

Logic gates, assembly and memory can feel like three unrelated courses. We trace one small instruction all the way down so the layers connect.

CS 205: the team

The hard part usually isn't the code. It's scoping, Git conflicts and integrating work from four people. This is what I do every day.

How the major fits together.

Here's the prerequisite chain from the catalog. It shows why a shaky CS 150 gets expensive later, and why it's worth fixing early.

  1. Start

    Learn to program. Either course leads to CS 150.

  2. The gate

    CS 202, 203 and 205 all require it.

  3. The middle

    Three different skills: proofs, hardware and teamwork. CS 202 also requires MATH 182.

  4. Upper level

    CS 301 needs 202 and 203. CS 303 needs 202. CS 406 needs 203. CS 424 needs 202.

  5. Capstone

    Senior standing and CS 205.

Find your course.

Course names and numbers come from the official Lafayette catalog. Being listed means I can help with the material. Where I'm taking a course myself, it says so.

20 subjects

Programming fundamentals

Your first real code, and the habits that make the next course easier.

CS 104Introduction to Game Programming

In-depth help

Learn object-oriented programming by building a sequence of games.

How I can help. Getting from "I copied the example" to writing your own classes, and working out why a game object behaves the way it does.

  • Classes and objects
  • Events and controls
  • Animation loops
  • Debugging game state

Prerequisite: None. Corequisite: MATH 141 or MATH 161

Get help with CS 104

CS 105Digital Media Computing

In-depth help

Learn object-oriented programming by writing effects for pictures, sound, text and video.

How I can help. Understanding loops over pixels or samples, how media is stored as data, and how to structure your code as it grows.

  • Classes and objects
  • Nested loops
  • Arrays of pixels and samples
  • Reading errors

Prerequisite: None. Corequisite: MATH 141 or MATH 161

Get help with CS 105

Data structures and algorithms

The material every later course leans on.

CS 150Data Structures and Algorithms

In-depth help

Object-oriented design, plus the structures used to store and find data. Nearly everything later in the major requires it.

How I can help. Drawing what a structure does in memory before writing it, tracing recursion by hand, and choosing a structure for a reason you can explain.

  • Linked lists and references
  • Stacks and queues
  • Trees and recursion
  • Hash tables
  • Big-O
  • Interfaces and generics

Prerequisite: CS 104 or CS 105

Get help with CS 150

CS 202Analysis of Algorithms

In-depth help

How to prove an algorithm is correct and fast, and how to design one when no standard answer fits.

How I can help. Setting up a recurrence, spotting whether a problem is greedy or dynamic programming, and writing a proof that reads like an argument instead of a guess.

  • Asymptotic analysis
  • Recurrences
  • Divide and conquer
  • Dynamic programming
  • Greedy algorithms
  • Graph algorithms
  • Intractable problems

Prerequisite: CS 150 and MATH 182

Get help with CS 202

Software engineering

Working on bigger systems, with other people, in the open.

CS 205Software Engineering

In-depth help

Analysis, design, implementation and maintenance of large software projects.

How I can help. This is my daily work. Planning a project, using Git as a team, writing tests that catch real bugs, and designing so the next feature doesn't break the last one.

  • Requirements and design
  • Git workflows
  • Testing
  • APIs and architecture
  • Code review
  • Working on a team

Prerequisite: CS 150, and permission of the department head

Get help with CS 205

CS 200Computers and Society

Core concepts

The ethical, legal and social side of computing, with a writing focus and a web lab.

How I can help. Thinking through arguments with real product examples, and the web lab. I'll talk ideas through with you and read for clarity, and the writing stays yours.

  • Privacy and data
  • Product ethics
  • How the web works
  • Building an argument

CS 320Database Management Systems

In-depth help

How databases are organized, designed and implemented.

How I can help. From building production apps: modeling your data, writing SQL you can reason about, and knowing what an index actually does for a query.

  • Relational modeling
  • SQL and joins
  • Normalization
  • Indexes
  • Transactions

Prerequisite: CS 205. Corequisite: CS 202

Get help with CS 320

CS 470Senior Project

Taking in Spring 2027Core concepts

A team builds a large software project from analysis through implementation.

How I can help. Mentorship on scope, architecture and shipping, drawn from building real products. I'm taking this course in Spring 2027, and the work you submit stays your team's.

  • Scoping a project
  • System design
  • Deployment
  • Team habits

Prerequisite: Senior standing and CS 205

Get help with CS 470

Computer systems

What your code turns into, and what runs it.

CS 203Computer Organization

In-depth help

From digital logic up through memory, instruction sets and interrupts.

How I can help. Making the layers connect: binary representation, tracing assembly line by line, and seeing why memory hierarchy changes how fast code really runs.

  • Binary and two's complement
  • Digital logic
  • Instruction sets
  • Memory hierarchy
  • Interrupts

Prerequisite: CS 150

Get help with CS 203

CS 406Operating Systems

Taking in Spring 2027Core concepts

Concurrent processes, memory management, file systems and resource allocation.

How I can help. Core concepts, at an introductory level: processes and threads, why race conditions happen, and how memory gets managed. I'm taking this course in Spring 2027, so I'll tell you if your question goes past what I can help with.

  • Processes and threads
  • Concurrency and locks
  • Virtual memory
  • Scheduling

Prerequisite: CS 203 or ECE 313. Corequisite: CS 205

Get help with CS 406

Programming languages and theory

Why languages work the way they do, and what computers can't do.

CS 301Principles of Programming Languages

Taking in Spring 2027Core concepts

How languages are designed and implemented, across imperative, functional, logic and object-oriented styles.

How I can help. Functional programming and comparing paradigms, which I use in real code: closures, higher-order functions and immutability. I'm taking this course in Spring 2027, so formal semantics and translators are at an introductory level.

  • Functional programming
  • Closures and scope
  • Type systems
  • Comparing paradigms

Prerequisite: CS 202 and CS 203

Get help with CS 301

CS 303Theory of Computation

Taking in Spring 2027Core concepts

Formal models of computation: languages, finite automata, computability and undecidability.

How I can help. The intuition behind automata and undecidability, at an introductory level. I'm taking this course in Spring 2027, so for proof-heavy problem sets, send me the material first and I'll tell you what I can do.

  • Finite automata
  • Regular languages
  • Computability

Prerequisite: CS 202

Get help with CS 303

AI and machine learning

From a linear model to a neural network you can explain.

CS 424Introduction to Machine Learning

In-depth help

Supervised learning, from linear and logistic regression to neural networks and deep learning.

How I can help. Understanding what a model is really doing. I've written a neural network's backward pass by hand for my Neural Net Observatory project, so we can work out gradients, loss functions and overfitting from first principles.

  • Linear and logistic regression
  • Gradient descent
  • Backpropagation
  • Overfitting
  • Evaluating a model

Prerequisite: CS 202. Corequisite: MATH 272 or MATH 300

Get help with CS 424

Cybersecurity

How software gets attacked, and how to reason about defending it.

Cybersecurity fundamentals

Core concepts

Lafayette's catalog doesn't list a course under this name, and special topics change by term, so send me your syllabus.

How I can help. The security questions you meet building real apps: authentication, input validation, how common web attacks work, and how to think like an attacker.

  • Authentication
  • Common web attacks
  • Input validation
  • Threat modeling

Supporting mathematics

The math CS actually uses, taught in that context.

MATH 182Discrete Structures

In-depth help

Logic, proofs, sets and counting. It's the math CS 202 assumes you have.

How I can help. Learning to write a proof, especially induction, and connecting each idea to the code it shows up in.

  • Logic
  • Proof by induction
  • Sets and relations
  • Counting
  • Graphs

MATH 272Linear Algebra with Applications

As it applies to CS

One of the options for the linear algebra and modeling requirement, and a corequisite option for CS 424.

How I can help. Vectors and matrices as they appear in machine learning and graphics, using examples from neural networks I've built.

  • Vectors and matrices
  • Matrix multiplication
  • Linear systems

MATH 186Applied Statistics

As it applies to CS

One of the options for the statistics requirement.

How I can help. Probability and statistics as they appear in data, experiments and machine learning.

  • Distributions
  • Inference
  • Reading results

MATH 161Calculus I

As it applies to CS

Limits, derivatives and integrals. Required for the B.S.

How I can help. For CS students: rates of change and how derivatives lead to gradient descent. Calculus-only help is better found at the college's own math resources.

  • Derivatives
  • Rates of change

MATH 162Calculus II

As it applies to CS

Integration techniques and series. Required for the B.S.

How I can help. For CS students: where series and sums show up in algorithm analysis.

  • Series
  • Sums in algorithm analysis

MATH 263Calculus III

As it applies to CS

Multivariable calculus. Required for the Class of 2027 and earlier.

How I can help. For CS students: partial derivatives and gradients, the math behind training a model.

  • Partial derivatives
  • Gradients
Every Class of 2027 B.S. requirement

This map is for finding your way around. It doesn't replace your advisor or the official department requirements, which differ for later classes. A listed option isn't a course I took.

Computer science core

RequirementCourses
Intro courseCS 104 Introduction to Game Programming or CS 105 Digital Media Computing
Data structuresCS 150 Data Structures and Algorithms
Computing and societyCS 200 Computers and Society
AlgorithmsCS 202 Analysis of Algorithms
Computer organizationCS 203 Computer Organization
Software engineeringCS 205 Software Engineering
Programming languagesCS 301 Principles of Programming LanguagesJudson: Spring 2027
TheoryCS 303 Theory of ComputationJudson: Spring 2027
Operating systemsCS 406 Operating SystemsJudson: Spring 2027
CapstoneCS 470 Senior Project or CS 495-496 ThesisJudson: CS 470, Spring 2027
Three upper-level electivesAny three CS 300- or 400-level electives

Mathematics

RequirementCourses
CalculusMATH 161 Calculus I, MATH 162 Calculus II, MATH 263 Calculus III
Discrete mathMATH 182 Discrete Structures
Statistics (one)MATH 286 Introduction to Probability and Mathematical Statistics or MATH 186 Applied Statistics or BIOL 265 Biostatistics or PSYC 120 Quantitative Methods in Psychology or MATH 335 & 336 Probability and Mathematical Statistics
Linear algebra or modeling (one)MATH 272 Linear Algebra with Applications or MATH 282 Techniques of Mathematical Modeling or MATH 300 Vector Spaces

The department page lists MATH 286 first for the Class of 2027, while the catalog page lists MATH 186 first. Check with your advisor about which applies to you.

Natural science

RequirementCourses
Lab science outside CSOne natural science lab elective
A two-course sequencePHYS 131 & 133 Physics I and II or CHEM 107 & 108 General Chemistry I and II or BIOL 111 & 112 Unity & Diversity of Biology; Biomolecular Foundations of Biology

How a session works.

  1. 1

    Send what you're working on

    Your syllabus, your lecture topic and where you got lost. Please share your course's collaboration policy too.

  2. 2

    Find the real gap

    I'll ask you to explain the idea. It usually takes a few minutes to find exactly where it stops making sense.

  3. 3

    Work a similar problem

    We go through a problem of the same kind together, and then you try the next one while I watch and ask questions.

  4. 4

    Leave with a next step

    You'll know what to practice before the next lecture, exam or office hours.

Academic integrity, in plain terms.

Tutoring only helps if the understanding ends up in your head. You're responsible for following your course's collaboration rules, and I'll work within them.

What we do

  • Explain concepts until they make sense
  • Work through similar practice problems
  • Ask questions that help you find your own bug
  • Review code you wrote on work that allows it
  • Plan how to study for an exam

What I won't do

  • Write code or answers you'll hand in
  • Solve your graded problem set with you
  • Help during a take-home exam
  • Share past assignments, exams or solutions

If you're not sure what your course allows, ask your professor before we meet. For free support, also use office hours and course assistants. Starting CS 150 soon? Read the prep guide.

Frequently asked
questions

Are you affiliated with Lafayette College?

No. I'm a current Lafayette CS student who tutors independently. This isn't a college service, and the department and your professors don't endorse it. Your course assistants and professors' office hours are free, so use them too.

Will you do my assignment or check my answers on graded work?

No. I explain concepts, work through similar problems with you, review how you approached something and help you debug by asking questions. Your course's collaboration policy applies to our sessions, so tell me what it says if you're asking about graded work.

Have you taken every course on this page?

No, and a course being listed doesn't mean I took it. It means I can help with the material. Courses I'm taking in Spring 2027 are labeled, and for those I'll tell you where my limit is.

My course isn't listed, or I'm at another college. Can you still help?

Probably. Most data structures, algorithms and systems courses cover similar ground. Send me your syllabus and I'll tell you what I can help with.

Is it in person on campus?

Sessions are online. Book an intro call and we'll set up a time that fits around your classes.

Stuck on something this week?
Let's find where it stopped making sense.

Book a Free Intro Call

Free. 15 minutes.