Bytes and Data Encoding

Overview

In this project you will explore how computers are used to digitally encode information.

In Milestone 1, you will binary and hexadecimal

Sign up for Project

TODO:

Install Software

.NET for Mac Installation

https://dotnet.microsoft.com/download/dotnet/5.0

.NET for Windows

https://dotnet.microsoft.com/download/dotnet/5.0

C# Plugin for VS Code

https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp

.NET Core Test Explorer

https://marketplace.visualstudio.com/items?itemName=formulahendry.dotnet-test-explorer

XML Documentation Comments Plugin

https://marketplace.visualstudio.com/items?itemName=k--kato.docomment

Hex Editor for VS Code

TODO:

https://marketplace.visualstudio.com/items?itemName=ms-vscode.hexeditor

Setup the Project

Open in VS Code

Select Project

  • OmniSharp: Select Project
    • Select All Projects
  • .NET: Restore All Projects

Configure your test_data directory.

Running the Project

TODO:

Running the Tests

TODO:

Milestone 1

TODO:

Week of Oct 19th (1 block period + 1 homework session). No Monday session.

1st Block: Introduce binary, bits, nibble, bytes, hexadecimal, decimal, and number conversions. Install hex editor?

Second half of block: Students work on encoding

Homework: Students finish Milestone 1

Task List:

  • Encode your 5211 Player Board
  • For each byte, provide the hexadecimal, binary, and decimal encoding.
  • Create a binary file containing your encoding

Milestone 2

Students start programming in C#.

Week of 19th: 2nd Block: In class, install .NET + all plugins, maybe short demo / overview

Homework: None? Simple C# Driver video? Getting Started video?

Week of 25th (Monday / Friday switched so block on Monday and short class on Friday)

1st Block: Full work day to work on Milestone 2 (80 minutes)

60 Minute Homework: Finish Milestone 2 / Start Milestone 3

Task List:

  • Implement FiveTwoOneOneDecoder
  • DecodeColor
  • DecodeCard
  • DecodeHand

Milestone 3

Week of 25th: (Monday / Friday switched so Friday has short periods)

2nd Block: Full work day for Milestone 3

45 min period: Work day for Milestone 3 Due end of day Friday. (No Homework)

Task List:

  • Implement Remaining Methods:
  • DecodeCardState
  • DecodePair
  • DecodeBoard
  • DecodePlayer
  • DecodeTwoPlayer