Courses/Computer Science/CPSC 355.W2014/Tutorial Schedule

From wiki.ucalgary.ca
Jump to: navigation, search

List of Tutorials

TAs and Tutorial Sessions

Rashmi Kumari T01 TR 13:00 (MS 119)

Michel Laterman T02 MW 15:00 MS 119

Tutorial Slides

http://pages.cpsc.ucalgary.ca/~rkumari/tutorials.php

SVN/Version Control

You will be submitting your homework assignments and your project via Subversion, a version control system. The CPSC Department maintains an SVN repository server.

SVN is normally used for keeping an ongoing history and backup of files in a project, but its properties also lend themselves nicely to the submission of computer science work assignments.

SVN Guide Book: http://svnbook.red-bean.com/

Using a Command Line

In which students learn how to speak directly to an OS without GUI intervention.


Using SSH

On Mac & Linux: Use the SSH command through the terminal

  • ssh -l <username> <server>

On Windows: The Windows machines in the the computer science lab have SSH Secure Shell installed.

Windows does not (by default) have an SSH program, so you need to get your own (PuTTY[1] for example).

The C Language

  • C keywords
  • control flow: decision, repetition
    • if
    • while
    • for
    • do..while
    • switch/case
  • variables and data
    • variable naming, content, addressing (pointers)
    • primitive types
    • arrays
    • structures
    • unions
  • pointers
  • functions
    • call by value
    • call by reference

udcli / udis86

A series of tutorials on using the udcli (a front-end to the udis86 library) to disassemble byte streams.

NASM

A series of tutorials on using the NASM assembler.

GDB

Ongoing use of gdb is expected throughout the course, some introductory tutorials on gdb

  • starting up
  • basic commands
  • syntax
  • examining registers / machine state
  • examining memory
  • controlling control flow
  • breakpoints
  • watchpoints

GLIBC

  • I/O, file I/O
  • math
  • dynamic memory allocation

Number Systems Practice

  • base2
  • base8
  • base10
  • base16

GNU Tools

  • hexdump
  • od
  • nm
  • objdump
  • objcopy
  • readelf

Taking Apart ELF files

ASCII

Floating Point

Disassembly Tools and Debuggers