CO Lab Manual
Course Page
  • Course Information
    • Welcome
    • Introduction
    • Your Contributions
    • Lab Sessions and Etiquette
    • Team Setup
    • Assumed Prior Knowledge
  • Setup Guides
    • GitHub Repository Setup
    • Technical Setup
      • Windows
      • Linux
      • macOS
    • GitHub SSH Setup
    • Framework Setup
  • Reference Documentation
    • Introduction to the Documentation
    • A Brief History Lesson
    • Syntax (Intel vs. AT&T)
      • Section Exercises
    • Memory
      • Memory Management
      • Section Exercises
    • Registers
      • Section Exercises
    • Instructions
    • Subroutines
      • Calling Subroutines
      • Writing Subroutines
      • Section Exercises
    • Input/Output
      • Printing to the Terminal
      • Reading from the Terminal
      • Section Exercises
    • Programming Constructs
    • Assembler Directives
    • C/C++ vs Assembly
    • Building and Running Programs
    • Address Sanitization
    • A0: A Running Example
  • Assignments
    • Introduction to the Assignments
    • Mandatory Assignments
      • A1: Subroutines and I/O
      • A2: Recursion
    • Extra Assignments
      • A3-a: Fibonacci Calculator
      • A3-b: Fibonacci REPL
      • A4: Diff
      • A5: Printf
      • A6: HPC
      • A7: Bitmap
      • A8: Game
  • Appendix
    • Acknowledgments
    • Rules and Regulations
    • Frequently Asked Questions
    • How to use a Debugger
Powered by GitBook
On this page
  1. Course Information

Team Setup

Even though the Lab part of the course should be done in pairs, it is not recommended to split the work by splitting the assignments. Rather it is highly advisable to do so-called pair programming. That is, to work in close coordination on the same assignment, and even on the same lines of code. By discussing each line or instruction, incomplete specifications are likely discovered early, bugs may be found before they even become part of the program, and, most importantly, both partners gain a thorough understanding of the written program and the applied concepts.

Furthermore, both team members need to be able to explain all parts of the code for hand-in, so splitting the work will result in additional time needed for explaining the solution within your team or your submission possibly being rejected.

A personal recommendation is to work together on-site and use an extension like VS Code's Live Share to allow for concurrent modifications to the same part of the code in real time.

PreviousLab Sessions and EtiquetteNextAssumed Prior Knowledge

Last updated 8 months ago