Assignment 1: Tech Jobs Console

Introduction

Congratulations! Based on your hard work and strong coding skills, you have been brought on as an apprentice to the LaunchCode Tech Team. You will be paired with a mentor to help you get comfortable and continue learning.

The Company Team at LaunchCode works with employer partners to match qualified programmers with apprenticeships. They asked for a new tool to be built to help them easily manage data for currently available jobs. Over the next few weeks, you will help them build this application alongside mentors from the Tech Team.

This first project will be a simple prototype. A prototype in software development is a basic working version of a proposed product. Software developers build prototypes to get feedback on proposed features and adjust the project timeline, as needed. This prototype won’t be pretty or have lots of features, but it will give you a chance to work through some initial concepts and get feedback from LaunchCode staff.

Your mentor on this project is Blake.

LaunchCode Mentor Blake

Learning Objectives

In this project, you will show that you can:

  1. Read and understand code written by others.
  2. Use core C# syntax (methods, variables, loops, conditionals).
  3. Utilize List and Dictionary collection types.
  4. Work with console I/O via the Console class.
  5. Work with data types and arrays.

TechJobs (Console Edition)

The app you must help design is a simple console (i.e. command-line) prototype of the new TechJobs app. It will allow LaunchCode staff to browse and search listings of open jobs by employer partners.

The prototype process gives everybody a chance to work out some initial ideas without investing a ton of time into developing a finished product. Once everybody likes the prototype, the Tech Team will begin work toward a full-fledged application.

Your Assignment

Blake created a console application and started to fill in some features. His code allows users to search job listings by one of several fields. It can also display lists of all of the values of a given field in the system (e.g. all employers, or all locations).

Blake has now handed the task off to you. You must add a couple of features and then get feedback from the Company Team.

Getting Started

In Canvas, Graded Assignment #1: TechJobs Console contains a GitHub Classroom assignment invitation link and then set up the project in Visual Studio. Refer back to the GitHub Classroom instructions from Assignment 0 for details.

Your Tasks

Before diving into your tasks, review Assignment 0 for details on running autograding tests in C#. This assignment has multiple tests, and we recommend the following workflow:

  1. Write the code for the task, verify manually that your code works by running the TechJobsConsoleAutograded project.
  2. When you think you’ve completed a task, run the individual test that corresponds to the task.
  3. If the test fails, review the test output and go back to your code to fix the bug.
  4. Once the single test passes, run all of the tests to make sure you didn’t break any tests that previously passed.
  5. Repeat this process until all tests pass.

Now we’ll outline the tasks for your first apprenticeship assignment.