Skip to content

Latest commit

 

History

History
181 lines (123 loc) · 6.06 KB

week1.md

File metadata and controls

181 lines (123 loc) · 6.06 KB

What are we doing today?

  • Instructor introductions
  • Overview of the RoboJackets software training program
  • Navigating and manipulating files and directories in the Linux terminal
  • Using Git and GitHub for version control
  • Do a fun exercise to practice using git

Meet Evan

img

  • Evan Bretl
    • 3rd year, Computer Science (Intelligence + Mod/Sim threads)
    • Inside RoboJackets: Software Training Coordinator, RoboRacing Software Lead, former RoboRacing Project Manager
    • Outside RoboJackets: Volleyball, AI Club
  • How to contact me

Meet Evan

img

  • Evan Strat
    • 2nd year, Computer Science (Intelligence + Mod/Sim threads)
    • Inside RoboJackets: IT Coordinator, IGVC Software
    • Outside RoboJackets: Play clarinet in marching band
    • More robot than human
  • How to contact me

Meet Dallas

img

  • Dallas Downing
    • 3rd year, Computer Science (Intelligence + Media)
    • Inside RJ: IGVC Project Manager, Outreach Mentor, Volunteer, PR Committee
    • Outside RJ: various random hobbies
  • How to contact me

Meet Andrew

img

  • Andrew Tuttle
    • 3rd year, Computer Science (Theory, Intelligence)
    • Inside RJ: IGVC Software Lead
    • Outside RJ: Dungeon Master and general geek
  • How to contact me

Meet Jason

img

  • Jason Gibson
    • Senior, Computer Science (Threads: Devices, Intelligence)
    • Inside RoboJackets: President
    • Outside RoboJackets: Avid lover of dad jokes
  • How to contact me

Meet Matthew

img

  • Matthew Woodward
    • Senior, Computer Engineering
    • Inside RoboJackets: RoboCup Project Manager
    • Outside RoboJackets: Triangle Fraternity, GTRI Underwater Robotics
  • How to contact me

Why are you here?

  • Learn the basics of software development
  • Get up to speed on technologies and techniques common to most RoboJackets teams

Overview of Training

  • Basic C syntax sessions
    • Useful if you have never used a language with C-style syntax before
    • We expect you to know C++ loops and basic data types
  • Week 2: C++ essentials, building on basic C syntax
  • Weeks 3-4: C++ Standard Template Library
  • Weeks 5-8: Advanced C++ topics (pointers, references, classes/interfaces)

The Linux terminal

  • Powerful text-based interface for interacting with your computer
  • (Almost) everything is a file or a folder
  • It lets you navigate your folders and manipulate files quickly
  • There are lots of tiny tools and commands you can use to do useful things

ATTENTION WINDOWS USERS

  • The Linux terminal is not the same as Windows Command Prompt
  • You will install Git Bash in order to use Linux commands
  • Installation instructions have been distributed to the training-sw email list

Basic commands

Explain that a directory is more commonly called a folder. Go to your home directory. Create a directory. cd to it. Use echo to create a file. List the files with ls -al. Explain what . and .. are. Remove the file. cd up a level. Remove the directory.
Command Use
cd Change to a different directory
ls List files in this directory
mkdir Make a new directory
rm Remove a file
rmdir Remove a directory
echo Write arguments to the standard output
  • Note: folder = directory

Basic commands

Create a directory with a file again, copy the file to the same folder with a different name, move the original up a level. Run man grep. Grep your file for a keyword. Run history.
Command Use
cp Copy a file
mv Move a file
man Access documentation about a command
grep Search for a string
history Shows your command history

Basic hotkeys

Copy/paste are generally ctrl+shift+c/ctrl+shift+v, respectively, but varies by shell.
  • Up/down arrow keys: Cycle through your command history (great for recent commands)
  • Ctrl+R: Search through your command history (great for less recent commands)
  • Tab: Complete this command/file/directory name
  • Tab-Tab: Show possible completions
  • Ctrl+C: NOT COPY! Stops the current command.
  • Ctrl+Z: NOT UNDO! Sends the current command to the background.
    • Use fg to bring it back to the foreground.
  • Ctrl+Shift+C: Copy (in Linux)
  • Ctrl+Shift+V: Paste (in Linux)
  • Ctrl+D: Exit the shell.

Git

Time to switch to the Git/GitHub presentation.