Problem Solving with Computers II
About this course
A course taught in the Dept. of Computer Science at UC Santa Barbara.
This site is maintained in this github repo: https://github.com/ucsb-cs24/ucsb-cs24.github.io.
If you are a CS department faculty member or TA that should have access to this page, contact Diba Mirza or Phill Conrad to request permission.
- Catalog Description including pre-requisites
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
- compilers—programs that translate C++ to machine code (g++, clang)
- CSIL: disk quota and file quota issues—How to diagnose and fix
- CSIL: git configuration—Configuring your CSIL account to use git
- Eclipse—One of several choices for a Java IDE
- emacs—general purpose text editor with programmer-friendly features
- emacs: customization—making changes that happen every time you run emacs
- git/github: overview—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.com: creating private repos under an organization—for closed source class assignments
- github: using ssh keys—generating public/private key pair, uploading public key to github
- IDEs for C++—Integrated Development Environments for C++ (CLion, Eclipse, Netbeans, etc.)
- 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
Resources
- C++: Tutorials—Online resources for learning C++
- sample exams—Exams from previous offerings of CS24