Introduction to Computer Science I: Programming in C++

Thu Dec 11 2025
Facebook share linkTwitter/X share linkLinkedIn share linkReddit share linkReddit share link

An Instructional Text for CS 135 at the University of Nevada, Las Vegas


About This Text

Introduction to Computer Science I: Programming in C++ is an instructional text developed to support CS 135: Introduction to Computer Science at the University of Nevada, Las Vegas. This text is designed to accompany the course by providing clear explanations, structured examples, and practice-oriented material aligned with the pacing, expectations, and learning objectives of CS 135.

The primary goal of this text is to help students develop a strong foundation in programming, problem solving, and computational thinking using the C++ programming language. Emphasis is placed on writing correct, readable programs and understanding how programs execute, rather than memorizing syntax alone.


Intended Audience

This text is intended for:

  • Students enrolled in CS 135: Introduction to Computer Science
  • Students new to programming or computer science
  • Students seeking additional structure and explanation alongside lecture and lab materials

No prior programming experience is assumed.


How to Use This Text

This text is designed to be used in parallel with CS 135 lectures, labs, and assignments. Students are encouraged to:

  • Read chapters corresponding to current lecture topics
  • Work through examples by writing and running code
  • Use the text as a reference while completing programming assignments
  • Revisit earlier chapters when encountering difficulties later in the course

This text supplements, but does not replace, official course materials, assignments, or policies outlined in the CS 135 syllabus.


Structure and Pedagogical Approach

This instructional text emphasizes:

  • Fundamental programming concepts using C++
  • Incremental learning, with concepts introduced gradually
  • Explicit connections between concepts and code
  • Practice-driven understanding
  • Preparation for large-enrollment, assessment-driven courses

The material is intentionally structured to reduce cognitive overload and to help students develop reliable programming habits early in their computer science education.


Table of Contents

Part I: C++ Fundamentals

Part II: Data

Part III: Arithmetic

Part IV: Libraries

Part V: Control Structures

Part VI: Files

Part VII: Arrays

Part VIII: Functions

Part IX: Objects

  • Chapter 21: Structures - Not Available Yet

Alignment with CS 135

The content and structure of this text are intentionally aligned with the CS 135 syllabus, including course outcomes, assessment methods, and pacing. Students who work through this material should be better prepared to:

  • Understand lecture content
  • Complete programming assignments successfully
  • Navigate automated grading systems
  • Develop confidence as beginning programmers

About the Author

This instructional text was developed by Alex St. Aubin, Lecturer in Computer Science at the University of Nevada, Las Vegas. The material reflects multiple years of experience teaching and coordinating large-enrollment CS 135 courses, with a focus on scalable instruction, automated assessment, and student success.


Status and Updates

This instructional text is currently under active development. Chapters may be revised, expanded, or reorganized to reflect course updates, student feedback, and instructional improvements.


Final Notes

This text is provided as a supplementary instructional resource for CS 135. Students should always defer to official course materials, announcements, and policies provided by the instructor during the semester.


Copyright and Usage

© Alex St. Aubin. All rights reserved.

Permission is granted to use and reference this instructional text free of charge for educational and non-commercial purposes, provided that proper attribution is given to the author.

At no time may any portion of this text be reposted, mirrored, uploaded, or redistributed on any website, platform, learning management system, repository, or distribution service other than those locations where the author has originally published the material.

Users may link to the original content and cite excerpts for educational purposes with attribution, but redistribution of the full text or substantial portions of it is prohibited without explicit written permission from the author.

No modifications or derivative works may be redistributed without explicit permission from the author.