Skip to the content.

Pair Programming

Pair Programming allows you to have secondary thinking as you work, not just a reflection after you are done, but real-time support.

“Real World” Projects

Don’t do it alone. You and your pair will work collaboratively together and will learn to Build, Deploy and Host a Website (many blogs). Each blog has “Technicals” learned throughout each project. This Website will be done as incremental blogs as you learn. Each week an assignment will be given, and then the next week it will be under Live Review, and then for the weeks after each blog will be hosted on your Website.

  • Feature Considerations for Website (blog project)
    • Final Project and Blog Requirements - A home or fun zone for your Website should contain a unique idea(s) - Educational zones that capture every key learning and course objectives - About Me page, consider personal privacy issues as this will be public
      • Project Technicals, over the Trimester
        • Managing Project-based Learning (PBL) requirements for each Project (Issues, Scrum Board)
          • CSSE, CSP, CSA. Use of “JavaScript, HTML, CSS”. Frontend or Presentation development.
          • CSP. Use of “Python Functions and Classes” in a backend.
          • CSA. Use of “Java Classes and OOP” in a backend.
          • Data Structures. The exchange between frontend and backend: Backend could be Data Frames from Pandas, “SQL” databases, “API” data, etc.
  • Individual GitHub Pages Considerations
    • Each week we will be studying Big Ideas/Key Objectivies. There will be Units and blogs in the schedule that will describe key objectives. In AP Classes this will include Collage Board Test Prep and PBL Tech Talks. In Articulated Courses, this will be documenting meeting objectives of the course.
      • GitHub (GH) Pages should be used as a project/lab notebook. In GH Pages, you can capture Project-based Learning (PBL). Also, in Jupyter Notebooks you can capture JavaScript, Python, and Java key learnings each week using Jupyter Notebook code cells!
      • BTW, using GH Pages will let you Code and Blog at the same time. Jupyter Notebooks using Python and Markdown will enable running code in code cells and notes in Markdown cells. The Teachers like running code! Jupyter Notebooks, using Python kernel can do JavaScript, Python, Bash and other languages. Additionally, there is an independent Java kernel.

Hacks

Establish PBL and Comp Sci attitude; often called an Agile Mindset or Growth Mindset. Here are some elements you could add to start your blog.

  • Watch a video How I Would Learn To Code. Record some thoughts.
  • Attitude. An Agile/Growth mindset is not knowing the answer, making lots of mistakes and performing iteration. A successful grade is dependent on making mistakes, research, asking questions, and continual iteration. Record some mistakes you made and then show the resulting corrections.
  • Tools and Equipment. Highlight some items you learned from the tools setup. Why do you think bringing a personal laptop or Chromebook to class daily is so important? Comment on how the Internet, AP Classroom, ChatGPT, and Nighthawk Coders website will be considered as a textbook.
  • Requirements. Everything will be distributed electronically. All code you develop will be delivered to the Cloud. No paper!
  • Grading guidelines. Write your interpretation of this paragraph in your blog. There will be key technical objectives that will require producing tangibles aka tangible artifacts. Essentially, it is impossible to be late with work if you work consistently attend class, work in class and turn in progressive tangibles each week. Thus, failure to have work will result in a point deduction. Additionally, late work must be defended during office hours and will receive a 10% deduction or more.
  • Understanding point scale. Write your interpretation of the below in your blog.
    • A High “A” is very tough to achieve, something beyond the given requirements. Something that exhibits an unforced desire to learn and Code/Code/Code beyond. A series of these types of grades is required to earn a Teacher recommendation for College.
      • Low “A” is consistency in producing tangibles toward Team Project and Individual GH Page according to Issues and Scrum Board plans. Plans must be consistent with key objectives and technicals.
      • “B” is having flaws in consistency or tangible shortcomings, but mostly on track. A flaw would be mostly working code, and attempts, but an incomplete assignment.
      • “C” is a lack of consistent effort, lacking tangibles. Lack of producing running Code.
      • Below “C” is composed of Slash/Slash/Slash offenses. Lack of attendance, disruptive behaviors, using phone inappropriately, doing work from other classes during CompSci class time, paper visible in class, and turning in “tangibles” that you can’t represent in live review.
      • Zero is a result of plagiarism. The Teachers will likely miss the first few offenses of plagiarism, thus any offense will result in an inquiry on previous work. Remember this is an effort-based class.