CS 262: Introduction to Low-Level Programming

Summer 2025 - 3 credits

George Mason University - Department of Computer Science

Course Logistics

Lecture Schedule

SectionDaysTimeLocation
B01Tue/Thu10:30-1:10 PMMerten Hall 1200
LabTue/Thu1:30-2:20 PMHorizon Hall 2016

Course Description

Welcome to the world beneath the abstractions! This course dives into low-level programming with C: a language that strips away the training wheels and puts you closer to the machine than most modern languages ever allow.

Why does this matter? Because understanding how your code actually runs (how data moves in memory, how the OS juggles processes, how your program talks to hardware) is what turns good developers into great ones. C gives you that power. Unlike Python or Java, C doesn't hide the gritty details: you manage memory, work directly with pointers, and interact closely with the operating system. That means you'll not only learn how to write programs, but how computers actually work underneath it all.

Originally designed to build Unix, C remains the backbone of operating systems, embedded systems, and performance-critical software. Even today, the tools and environments that run our modern world, from smartphones to supercomputers, rely on code written in C. If you want to understand systems programming, you need to understand C.

In this course, you'll explore C and Unix in tandem. You'll manipulate memory with pointers, navigate and script the command line, and learn how programs interact with files, processes, and the OS itself. The abstractions of high-level languages will start to make more sense, because you'll know exactly what they're hiding.


Prerequisites

Students must have earned a C or better in CS 211 or CS 222, and a C or better in CS 110. (CS 110 may be taken as a co-requisite with CS 262.)


Learning Outcomes

  1. Implement, test, and debug solutions in C
  2. Demonstrate mastery of pointers, dynamic memory management, and bit-level manipulation
  3. Use C libraries for I/O and interface with the UNIX operating system
  4. Employ UNIX tools for program development and debugging

Course Topics


Course Work

Late Work Policy

Missed Exams Policy

Any permission to miss an exam must be arranged ahead of time unless it is the result of an illness on the day of the exam. In such cases, documentation may be required to reschedule the exam.

Campus Closure Policy

If the university is closed for any reason, class will be held online. Videos covering the material will be posted for those who could not attend.

Connecting to Zeus

Projects and labs will be graded by runs on Zeus. Information on how to connect can be found at the following link: https://labs.vse.gmu.edu/index.php/Systems/Zeus


Required Textbook

Recommended


Communication

For any course related matters or if you just want to talk about interesting CS related topics, you can either email me, talk with me before/after class, or stop by office hours. I love to talk about anything and everything math and CS, even if it isn't directly related to this course !

I monitor my Mason email regularly. If you do not receive a response within 24 hours, please assume I missed your message and send a reminder.

Any questions about course material must go through your Mason email. This is both university policy and a legal requirement to ensure no private information (grades, etc) are disclosed to anyone other than the student or a person they have authorized.


Grading

Grades are based on the following components:

Do I curve? Yes. Curves are applied on a per-question basis based on overall class performance.

How long do I have to wait for my grades? Grading turnaround is typically a few days for quizzes and around one week for projects.

What if I turn my work in late? Late work loses 10% per day. Late tokens (3) apply only to projects.

Who Grades What?

Grading Platforms

The course material will be posted on Canvas. Quizzes and exams will be graded via Gradescope, with extensive feedback provided for quizzes and the midterm. Projects and labs will be graded via Canvas.

Grade Scale

GradePercentage Range
A+≥ 98
A92 ≤ x < 98
A-90 ≤ x < 92
B+88 ≤ x < 90
B82 ≤ x < 88
B-80 ≤ x < 82
C+78 ≤ x < 80
C72 ≤ x < 78
C-70 ≤ x < 72
D60 ≤ x < 70
F< 60

Passing Requirements

The department policy stipulates that in order to pass the course, you must meet at least one of the following criteria:


Teaching Philosophy

I will always do my best to create an environment where you're not just showing up to absorb information, but to be in an environment where your questions are heard, your time is respected, and your efforts are met with equal commitment on my part. If something isn't clear, or if a lot of people miss the same question on a quiz, I take that seriously. That's not just a "you" problem, that's a signal for me to revisit how I explained or emphasized something.

I know tests are stressful, so you'll always know what to expect. After each lecture, I'll add a few related questions to a growing bank of practice problems, so review isn't just something that happens in a panic before the test. Before every quiz, we'll have a dedicated review session. And when it comes time for exams, they'll match what we've practiced, in both format and focus. No surprises, no trick questions, no bait-and-switch.

I also really value student input. Not just about the material, but about how the course is going. If something isn't working for you, let me know. If you have an idea that could make things better, I will always want to know.


My Thoughts on LLMs

Language models (like ChatGPT and others) are amazing tools, and I'm not going to pretend they don't exist or shouldn't be used. In fact, they can be a great aid for learning, whether you're exploring a new concept, trying to understand error messages, or reviewing code.

But here's the catch: don't outsource your thinking. There's a reason we didn't use calculators on math tests in elementary school, but we did in high school. It's perfectly fine to delegate things that are well below your current level of understanding. But if you find yourself reaching for a tool to do something you haven't yet mastered, you're robbing yourself of the chance to grow.

Also, real talk: in a year or two, you'll be interviewing for jobs alongside a lot of students who did outsource their learning. You'll be able to absolutely dunk on them, because you took the time to build actual understanding instead of copying output. Play the long game. Your future self will thank you.


Tentative Schedule Detail

This schedule is subject to change. The most up-to-date version will be posted on Canvas. The schedule includes lecture topics, readings, and assignment due dates.
Week Date Lecture Topics Reading Assignments Out Assignments Due
1 May 26 - Jun 1 Introduction to C
vi/vim
Operators & Expressions
User Input & Makefiles
Ch 2; 7 (7.1)
Ch 19 [CiN]
Lab 1
Lab 2
Quiz 1
Lab 1
2 Jun 2 - Jun 8 Control Flow
Functions
Arrays
Ch 4
Ch 7 [PwC]
Ch 5 (5.1-5.6)
Project 1
Lab 3
Lab 4
Quiz 2
Lab 2
Lab 3
3 Jun 9 - Jun 15 Strings
Pointers
Midterm Exam Review
Ch 5 (5.11-5.12)
Ch 10 [PwC]
Lab 5
Lab 6
Quiz 3
Lab 4
Lab 5
4 Jun 16 - Jun 22 Midterm Exam
Multidimensional Arrays
Ch 10 [PwC]
Ch 7
Ch 14 [CiN]
Project 2
Lab 7
Project 1
Lab 6
5 Jun 23 - Jun 29 Data Files & Formatting
Preprocessing Directives
Debugging C Programs
Structures
Ch 20 [CiN]
Ch 6; Ch 11 [PwC] (11.1-11.5)
Lab 8
Lab 9
Quiz 4
Lab 7
Lab 8
6 Jun 30 - Jul 6 Self-Referential Structures
Linked Lists
Valgrind
Ch 11 [PwC]
Ch 4 [HFC]
Ch 2 (2.9)
Ch 6 [HFC]
Project 3
Lab 10
Project 2
Lab 9
7 Jul 7 - Jul 13 Bitwise Operations & Files
Multiple Source Files
The UNIX System Interface
Using Make
Ch 8
Ch 13 [PwC]
Ch 19 [CiN]
Lab 11
Quiz 5
Lab 10
8 Jul 14 - Jul 20 Linking
Final Exam Review
--- --- Project 3
Lab 11

Final Exam


University Policies

Title IX

George Mason University is committed to providing a safe and non-discriminatory environment for all students. If you experience or witness any form of sexual harassment, please report it to the Title IX Office


Inclusion

This is not only university policy, but extremely important to me personally. Everyone taking this class has the right to feel like they are exactly where they belong. Everyone, regardless of gender, sex, race, politicial beliefs, religion, veteran status, nationality, or any other matter of personal identity, will be treated equally. You can expect to be called the name you want, and treated with nothing but respect.

If at any time you feel uncomfortable in this class, please contact your professor directly.


Privacy (FERPA)

The Family Educational Rights and Privacy Act (FERPA) is a federal law that protects the privacy of your educational records. For more information, visit the GMU FERPA Information Page


Accommodations

If you have a disability and require accommodations, please contact the Office of Disability Services. They will work with you to ensure that you receive the necessary support and accommodations. To make use of your accommodations in this class, reach out to me via email so we can get everything arranged.

Academic Integrity

In this class, I assume you're here because you want to learn, not just to get through the course. I promise to meet you with that same energy and commitment. Because of that, it's important to be clear: unless an assignment explicitly says otherwise, your work should be your own.

This isn't about policing or trying to "catch" anyone. It's about respect. When you submit your work, I treat it as a reflection of your effort and understanding, because I respect your time and want to help you grow. If that reflection isn't actually yours, it becomes very hard for me to help you.

Ask for help. Talk to classmates. Use the resources available. But when it comes to actual code or written solutions, do your own work. Not because you're scared of the consequences, but because you're here to actually learn, and learning requires doing.


Helpful Resources

The Student Support and Advocacy Center (SSAC) offers a range of services to support students' well-being and academic success. SSAC is all about assisting students encountering barriers to personal success.

Learning Services offers free academic coaching, workshops, and study resources to help students improv time management, study strategies, and academic performance. Services are available both in-person and online.


Campus Map

For your convenience, here is a map showing the location of the professor's office (orange arrow) and the lecture building (red arrow)

View GMU Fairfax Map