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)
-
C++—Various C++ Topics
-
CSIL: disk quota and file quota issues—How to diagnose and fix
-
CSIL: git configuration—Configuring your CSIL account to use git
-
Data Structures: Hash Tables—Open and Closed Hashing, etc.
-
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.)
-
libraries—C/C++ libraries for various purposes
-
libraries: cairo—library for producing graphics in a device independent way, with C/C++ bindings
-
libraries: curlpp—C++ library for fetching web pages
-
libraries: jsoncpp—C++ library for decoding JSON
-
libraries: pango—library for a library for laying out and rendering of text, with an emphasis on internationalization
-
Test Driven Development (TDD)—General information about best practices
-
tools—Tools for software development
-
tools: gdb—GNU debugger
-
tools: valgrind—Tool for checking run time behavior of C/C++ programs, including memory leaks
-
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