A1-Getting Started

Table of Contents


  • Help the instructor get to know you and understand your needs
  • Get you set up to succeed in the course
  • Start to understand programming
  • Learn how to prepare a README.txt file
  • Compile your first program
  • Gain experience coding

Note: if you do not complete this assignment on time, you might be dropped from the course. However, do not rely on an instructor to drop you because you are entirely accountable for not dropping any course.

Academic Honesty

Read the Scholastic Honesty Policy and Assignment Integrity policies of the syllabus. Here are some clarifications for this particular assignment:

  • Do not communicate with anyone nor look up any information (like with Google) during the quiz.
  • You must complete the Hour of Code by yourself. If you get stuck, email the instructor.
  • You may get help from others installing the compiler, as long as you actually do all the steps yourself.


  1. Make sure you have completed the exercises from lesson 1.
  2. Register for CodeLab and complete the Review Exercises of CodeLab 1.

    Make certain you enroll in the CodeLab for your semester and section or you will not receive credit for the work. If you are not sure then ask. Remember that registration and the first few exercises are FREE.

Project Specifications

Complete the following assignment specifications so we can get acquainted more easily. Specifications are requirements you must meet to get full credit.

Project 1: Learning and Intelligence

  1. Read the Salman Kahn article "Why I Will Never Tell My Son He is Smart" and complete the worksheet.
  2. When finished with the worksheet save it in plain text format with the file name "learning.txt".
  3. Submit the learning.txt file with the rest of the assignment as described in Deliverables.

Project 2: Student Information Form

Complete and submit the following Student Information form.

Your photo

Project 3: Uploading a Picture

Upload a clear, recent and easily recognizable close up photo of your face to Canvas along with the rest of your assignment files. The file must be viewable by dragging it into a browser.

Note that I am NOT asking you to post your image to your account or in a public area of Canvas. Instead, I am asking that the image file be uploaded to the assignment turn-in area. Only the instructor and you can see what you turned in. The purpose of the image is simply to help me learn your name.

Please limit the file size of images to one megabyte or less. Please include only yourself in the image. This photo needs to be of your face only -- not your face and shoulders -- for me to be able to see it easily. If I cannot easily identify your face from the image, you will not get full credit. See the following examples of full and partial credit (if you were Albert Eienstein).

Photos versus Credit
face only face and shoulders Two younger people
Full Credit
Face only
Partial Credit
No shoulders or body please
Partial Credit
Not solo or recent


Project 4: Reviewing the Concepts

Complete the following steps to complete the first quiz:

  1. Review the lecture from Lesson 1.
  2. Review the following information about how to convert between binary and decimal numbers as needed:
  3. Practice your skills with binary numbers with one or more of the following games as needed:
  4. Complete the Hwk 1 Quiz in Canvas to verify your understanding. Make sure to study and practice before taking the quiz!

    The purpose of this quiz is to help you decide if you have a good understanding of the concepts from lesson 1 and this assignment. Since this is the first quiz, you may take it multiple times.


Project 5: Developing a README file

A README file contains information about other files in an assignment or set of software files. It is a plain text file and is where the instructor starts when grading assignments. You will turn in a single README.txt file for every assignment with programming projects.

  1. Review the instructions for How To Submit Homework Assignments.
  2. Download the example README.txt file.
  3. Update the example README.txt to fill in your own name, email, assignment number and so on. For "Programming Partner:" enter "none" or leave it blank.
  4. Update the list of files to delete all those that are incorrect and to add the lesson exercise files form lesson 1:
    1. questions.txt from lesson 1 exercise 1.2.
    2. compiling.txt from lesson 1 exercise 1.3b.
  5. Update your README.txt file as this assignment progresses to ensure it is correct.
  6. Submit the README.txt with the rest of the assignment as described in Deliverables.


Project 6: Exploring Coding

The purpose of this project is to give you an intuitive grasp of important programming concepts. While completing this assignment, please pay particular attention to how the computer executes the instructions you give it in order!

  1. Start the hour of code here and select Minecraft Adventurer.

    Play the videos if you need help. If you get stuck, please let the instructor know so he can help.

  2. When finished with all the steps, click the "I've finished my Hour of Code" link.

    Hour of Code Link

  3. Add your full name (first and last) to personalize the certificate and then press the Submit button.

    Hour of Code Certificate

  4. Click on the certificate and it will take you to a new webpage with a larger picture of your certificate. Here is a link to an example certificate:


  5. Highlight the web address (URL) for your certificate in the browser bar and copy it (Ctrl + c).

    Hour of Code certificate address

  6. Paste (Ctrl + v) the entire URL into your README.txt file to receive credit. Do NOT submit the certificate.


Project 7: Installing the Compiler

For this project, you must successfully install the compiler for the course on a computer and describe your experience in the README.txt file. In addition, you must turn in an executable file.

Make sure you follow the instructions exactly and think carefully about each step. Programmers need to be able to follow instructions carefully and exactly.

  1. Install g++: Install Cygwin or the GCC/g++ compiler on a computer system, preferably the system you will use for your homework. Here are some instructions:

    For Linux systems, g++ is usually installed automatically with GCC. If not, use a search engine to look up the instructions. To verify your installation, use the Compiling and Running Programs instructions for the Mac.

    Briefly describe the technical parts of your installation experience in the README.txt file you completed in Project 5.

  2. Compile a program: Verify your installation by compiling and running the hello.cpp program using one of the following sets of instructions. Turn in the executable program you create to Canvas.

    If you have problems, review the lecture notes or get help from a classmate, tutor or the instructor.

Extra Credit

Completing the following is worth extra credit. (2 points)

Make sure to list the extra credit you complete in the README.txt file.

Name tag

Project 8: Coding a Name Banner

For this project write a C++ program that displays your name in banner-sized letters to the console (video screen). For example, the MINIMUM output of the program for the name Bruce Hartman would be:

BBB   RRR   U  U   CC   EEEE  H  H   AA 
B  B  R  R  U  U  C  C  E     H  H  A  A
BBB   RRR   U  U  C     EEE   HHHH  AAAA
B  B  R  R  U  U  C  C  E     H  H  A  A
BBB   R  R   UU    CC   EEEE  H  H  A  A
Project Specifications
  1. Write your name with cout statements to the terminal window in banner-sized letters like the above using a 4 or 5 character width by 5 character length (4x5 or 5x5) letters.
  2. The name of the source code file must be banner.cpp.
  3. Each banner letter must be made from the uppercase letters of the letter being created.
    For example, a banner "A" would be made of uppercase A's as shown above.
  4. Print at least two letters of your first name and the first two letters of your last name.
  5. Overall, print at least 7 banner-sized letters and no more than 18.
    The example above has 13 banner-sized letters and the image has 9.
  6. Do not try to wrap the text in the terminal window because terminal windows may have different widths. Instead, end each line of text with a "\n" or endl (end-el NOT end-one).
  7. No input is needed or allowed.
  8. Your solution for this project must only use techniques we have covered so far.
  9. Submit the source code file banner.cpp with the rest of the assignment as described in Deliverables.

Tutorial Lab

In preparation for next weeks lessons, complete the following:

  1. Read the assigned reading in the textbook as listed on the schedule page.
  2. Complete the Tutorial Exercises for CodeLab 1.

    You can look at solutions if you miss your first attempt by clicking the "Solution" tab.

    Again, make certain you enrolled in the CodeLab for the correct semester and section or you will not receive credit for the work.

Grading Criteria

The instructor will assess your assignment using the following criteria. Thus you should check your assignment against these criteria to maximize your score.

Each criteria represents a specific achievement of your assignment and has a scoring guide. The scoring guide explains the possible scores you can receive. Some scoring guides have a list of indicators. These indicators are a sign of meeting, or a symptom of not meeting, the specific criterion. A single indicator may not always be reliable or suitable in a given context. However, as a group, the indicators show whether or not the work meets the criterion.

For information on grading policies, including interpretation of scores, see the syllabus.

Lesson Exercises

  • 2: All lesson exercises attempted and turned in
  • 1: Some lesson exercises completed and turned in
  • 0: No lesson exercises completed or turned in

Learning and Intelligence Worksheet

  • 4: Student completed and submitted the learning worksheet with substantial effort
  • 3: Student completed and submitted the learning worksheet with modest effort
  • 2: Student completed and submitted the learning worksheet with minimal effort
  • 1: Student submitted the learning worksheet
  • 0: No learning worksheet submitted

Student Information Form

  • 4: Student completed and submitted the CS-11 Student Information form with substantial effort
  • 2: Student completed and submitted the CS-11 Student Information form with minimal effort
  • 0: No Student Information form submitted

Recognizable Image

  • 2: Instructor could easily identify the student from supplied image.
  • 1: Instructor could NOT easily identify the student from the supplied image.
  • 0: Specified image was not turned in or was inappropriate for an academic or professional setting.

Hwk 1 Quiz

  • 2: Quiz completed and all answer are correct.
  • 1: Quiz completed but not all answers are correct.
  • 0: Quiz not completed.

README.txt File

  • 2: README.txt file completed following instructions and then submitted
  • 1: README.txt file submitted but some information was missing
  • 0: no README.txt file submitted

Exploring Code

  • 2: Completed the Hour of Code and included the link to your certificate in your README.txt file.
  • 1: Completed the Hour of Code and included the link to your certificate in your README.txt file, but the certificate does not include your full name.
  • 0: Not completed or no certificate link turned in.
  • -2: Turned in the Hour of Code with a link in your README.txt file, but the link has someone else's name on it.

Installation Lab

  • 1 point for describing your Cygwin or g++ installation in your README.txt
  • 1 point for submitting the hello executable file that you compiled after installation

CodeLab Exercises

Number completed correctly / number exercises * 8 and rounded up to the nearest integer.

Total possible: 28, plus extra credit


Students submit some homework as they work on it like CodeLab, the Google form, and Hwk 1 Quiz. However, students must submit other homework in Canvas following the link to A1-Getting Started. For detailed instructions see: How To Submit Homework Assignments. Include the following items when submitting to Canvas:

  1. All the exercise files from Lesson 1 including:

    I provided this list of file names for the first lesson. In future assignments, you must look up these file names on your own by following the link to the lecture notes.

  2. Your learning.txt file from Project 1 above.
  3. Your image file from Project 3 above.
  4. README.txt file from Project 5 prepared by following the instructions for submitting homework.

    Be sure to include the link to your Hour of Code certificate in the README.txt as well as your name and other required information.

  5. Your executable (Application) file you created in the Project 7 (hello.exe on Windows, hello on Linux or Mac) from the Installation Lab above.
  6. Optionally, banner.cpp from the extra credit above.
  7. In addition, verify you have completed the:
    1. CodeLab 1 exercises.
    2. Google form from Project 2.
    3. Hwk 1 Quiz in Canvas.

You must submit all the files needed to complete your assignment. Your assignment must work as submitted. Remember to test and double check your files before submitting them. If you make a mistake, you can resubmit up to the deadline. If you resubmit, you must include all your assignment files in the last submission as Canvas hides prior submissions.

Wed Aug 29 11:18:04 PDT 2018