UCSB CMPTGCS 1A
Computer Programming and Organization I
About this course
A course taught in the College of Creative Studies at UC Santa Barbara.
This site is maintained in this github repo: https://github.com/ucsb-cmptgcs-1a/ucsb-cmptgcs-1a.github.io.
Past offerings of CMPTGCS 1A
Textbooks
- Problem Solving with C++, 9th Edition—Required C++ textbook
- Data Structures and Other Objects Using C++, 4th Edition—Required C++ textbook
Topics
- antipatterns—Things to avoid in your code
- bash—Unix command line shell, and a programming language
- CSIL: disk quota and file quota issues—How to diagnose and fix
- CSIL: git configuration—Configuring your CSIL account to use git
- CSIL: Via MacOS—Accessing CSIL from your MacOS system
- emacs—general purpose text editor with programmer-friendly features
- emacs: customization—making changes that happen every time you run emacs
- git/github—An introduction. git vs. github.com vs. github.ucsb.edu, repos, etc.
- git: basic workflow—The basics: git add..., git commit..., git push ...
- git: cloning your first repo—A guide for those new to git
- github: using ssh keys—generating public/private key pair, uploading public key to github
- Number Conversions—Binary, Decimal, Octal and Hexadecimal
- shebang—About that first line of some python files that looks like this: #!/usr/bin/env python
- submit.cs—An automatic grading feedback program used at UCSB
- Test Driven Development (TDD)—General information about best practices
- Unix: Misc tools—Various useful command line tools you may not know about
- vim—a widely used text editor among Unix users
- vim: customization—customizing vim for your purposes
- X11—Dealing with X11 DISPLAY issues