<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Computer Science A, 2021-2022, Tri 2 by John Mortensen</title>
      <link>https://padlet.com/jmortensen7/csa2022tri2</link>
      <description>Timeline and Syllabus</description>
      <language>en-us</language>
      <pubDate>2021-11-06 14:51:18 UTC</pubDate>
      <lastBuildDate>2025-10-11 11:30:53 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title></title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1871639374</link>
         <description><![CDATA[<pre><pre>AP CSA COURSE Into FOR Trimester 2</pre></pre><div><strong>Intro 0.0:&nbsp; Project Ideas</strong></div><ul><li>PBL - Look for a <strong>real need</strong>, Teacher/Student need, Educational Study or Simulation, Campus Club, Campus Interest, Business Interest, Charitable Organization, etc<ul><li>Starting Objective is to <strong>begin a code base</strong>.&nbsp; Longer term vision is to&nbsp; build skills for a final project in Trimester 3.&nbsp; &nbsp;</li><li>IMO, it is much more interesting to work on something that has <strong>3rd party interest</strong> and that you can ultimately acquire a sponsor.&nbsp; This Trimester is to get us ready. &nbsp;</li><li><strong>Designs are required</strong> and must meet Teacher Approval (Brain Write, Wire Frame, Concept). &nbsp; It would be great if you tried to use the GitHub Wiki to record these items.&nbsp; &nbsp;</li><li>Be sure to pick something that you <strong>don't burn out</strong> on after a couple of weeks.</li></ul></li></ul><div><br></div><pre>Teacher Project Interests</pre><div>PBL. Concept/Idea in CSA Education (Easy) ...</div><ul><li>Highlight all 10 Units from CB.</li><li>Remake CB site to be Student Friendly, More Code, and less Video.</li><li>The Web Site covers key topics from CB, also include PBL, should be interactive.&nbsp; The visuals should teach as much as the code behind the visuals.</li><li>FRQs could be challenges or hack-a-thon activities that would enhance TPT sessions.&nbsp;</li></ul><div><br>PBL. Concept/Idea Classroom Management, TODO (Easy/Medium) ...</div><ul><li>Build data for a series of classroom needs<ul><li>User Table and Passwords, single source for all projects to minimize duplication of data</li><li>Access through accounts RESTful API</li></ul></li><li>User Setting and Attributes for students<ul><li>GitHUB ID</li><li>All GitHub location for user through Year (Tri 1,2,3)</li><li>All Slack channels through Year (Tri 1,2,3)Period through year</li><li>Roles for User through Year</li></ul></li><li>Association of Users to work (TODO and resolution)<ul><li>Scrum Teams (build off my example)</li><li>User to Canvas assignments (lookup)</li><li>Canvas assignments to Tangibles<ul><li>GitHub commits</li><li>Runtime</li><li>Ability to Comment on assignments</li></ul></li><li>Backup of Data to JSON</li><li>Restore Data from JSON</li></ul></li></ul><div><br></div><div>Tech + PBL.  Concept/Idea React, this needs a project like above but you build it with a different Frontend (Medium) ...</div><ul><li>React frontend with Java Backend</li><li>Key is to build RESTful API, database and all persistent services in Java</li><li>Admin Web application to should be in Java, Spring, Thymeleaf</li><li>In 20 minutes... https://www.split.io/blog/tutorial-spring-boot-react/</li><li>How to... https://medium.com/bb-tutorials-and-thoughts/how-to-develop-and-build-react-app-with-java-backend-c1e6c5c93ae</li><li>Intense, but from authority... https://spring.io/guides/tutorials/react-and-spring-data-rest/</li></ul><div><br>Tech + PBL.  Concept/Idea iPhone, two coding languages two IDEs, this will need a project IDEA (Hard)&nbsp; ...</div><ul><li>Swift project with Java Backend</li><li>XCode IDE for Swift IPhone project</li><li>Java and IntelliJ for Backend project</li><li>Key is to build RESTful API, database and all persistent services in Java</li><li>Admin Web application to mimic phone services perform maintenance should be in Java, Spring, Thymeleaf</li><li>Getting started ... https://medium.com/@nutanbhogendrasharma/consume-rest-api-in-swiftui-ios-mobile-app-b3c5d6ecf401</li><li>Comparing backend frameworks ... https://medium.com/comsystoreply/https-medium-com-max-comsysto-comparing-backend-frameworks-written-in-java-swift-and-go-70acd07d3a8a</li></ul>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/462290215/c0a9210b0b5ff8cf28fb4735436db697/image.png" />
         <pubDate>2021-11-06 14:55:14 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1871639374</guid>
      </item>
      <item>
         <title></title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1871717762</link>
         <description><![CDATA[<pre><pre>Organization Sprint 0
Week 0</pre></pre><div>Goals for Week</div><ul><li>Pick Teams</li><li>Slack Channel</li><li>Brain Writes</li><li>Wire Frames</li><li>Start GitHub</li><li>README</li><li>Scrum Board</li><li>Running Project</li><li>Individual Home Pages</li><li>Journal and TPT work</li></ul><div><br><strong>Points for Week</strong>, current 4/5. <strong>&nbsp;</strong>To get seed from 4/5 to 5/5, setup working environments according to minimal requirements for class.</div><ul><li>Scrum Boards and Issue for each individual (.5 to seed)</li><li>GitHub plan and commits by each individual (.5 to seed)&nbsp;</li><li>Distraction policy in effect immediately (-1 point from seed)</li></ul><div><br></div><div><strong>M - Teacher Led, Course, Goals, Introduction to Sprint.</strong>&nbsp; Birds of a Feather (BOF) and Operation Officers (OOs).&nbsp; Pick Teams, establish roles, get busy with git (Scrum Board and Code).&nbsp; See Intro 0.1, 0.2, 0.4.<br><strong>Tu - Teacher Led , </strong>Discuss Seed Points, Project Ideas, Individual coding, and CB FRQs.&nbsp; Look ahead for your BOF day.&nbsp; See Intro 0.0, 0.3 and Tech Talk 0.1.<br><strong>W - CCC</strong>, <strong>Scrum Masters BOF</strong> on Scrum Boards and Issue for each individual (.5 to seed). See Tech Talk 0.2<br><strong>Th - CCC, GitHub Admin BOF </strong>on GitHub plan and commits by each individual (.5 to seed). See Tech Talk 0.3<br><strong>F - CCC</strong>, <strong>Deployment Admins BOF</strong>.&nbsp; Start conversation on deployment.&nbsp; See Tech Talk 0.4 See <a href="https://csa.nighthawkcodingsociety.com/course/deploy">Deployment Plan</a>&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-06 16:06:58 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1871717762</guid>
      </item>
      <item>
         <title>Class and Team Organization</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1871717907</link>
         <description><![CDATA[<pre><pre>AP CSA Roles FOR Trimester 2</pre></pre><div><br>Intro 0.1: <strong>Classroom Roles &nbsp;</strong></div><ul><li>Two to Three TOs/OOs in class to Facilitate TPT, TT events.&nbsp; Coordinating across Team TOs/OOs</li><li>Serve as Project Owners in Agile Development, process. &nbsp; Essentially acting as Sponsor of projects.</li><li>Help in setting up and approve projects and ideas. &nbsp;</li><li>Assist in planning common or shared code across all Scrum Teams, ie User Database and APIs</li><li>Coordination for Unit #1-#10 FRQ reviews.&nbsp; Trying to make things interesting with individual challenges, engagements, hacks, kahoots, etc.&nbsp; (very little lecture)</li></ul><div><br></div><div>Intro 0.2: <strong>Team Roles</strong>.&nbsp; Form Teams, establish key roles for Trimester</div><ul><li>Scrum Master.&nbsp; Ensure roles are assigned.&nbsp; Build Scrum Board. &nbsp;</li><li>GitHub Admin.&nbsp; Setup Project in Git.&nbsp; Integrate any starter code from Trimester 1.&nbsp; Build policies for Fork and Pull requests.</li><li>Primary Designer.&nbsp; Primary Designer and Layout manager.&nbsp; Organize Thymeleaf Enabled Templates, ensure usage of Bootstrap (minimize CSS customization per page).&nbsp; Establish plan for overrides on each of the User Pages.</li><li>Deployment Manager (RPi or AWS).&nbsp; Deploy Web site.&nbsp; Establish policy and frequency for updates.&nbsp; Ensure site is not broken and always alive for reviews.</li><li>Technical Officer from Scrum Team.&nbsp; Works with Teacher, Classroom TOs, and BOF TO's to form TPT lessons and Tech Talk Topics for Trimester.&nbsp; Also, facilitates learning of Technical Concepts within Scrum Team.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-06 16:07:07 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1871717907</guid>
      </item>
      <item>
         <title>Tech Talk 0.2 - README, Scrum Board and GitHub information best practices</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1871773558</link>
         <description><![CDATA[<div><strong>Scrum Master BOF<br></strong>In trimester 2 we want to have majority of our documentation maintained in GitHub itself.&nbsp; We don't want external slides or documents.&nbsp; We should try to build entire project history in GitHub.</div><ul><li><a href="https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes">README</a>. You will hav a README file to your repository to tell other people why your project is useful, what they can do with your project, and how they can use it.&nbsp; Also, README will continue having&nbsp; Individual quick links and Time Boxed changes per Canvas assignment.&nbsp; Your project could have other *.md files to cover specific topics, however, for these kind of items you may consider WIKI.</li><li><a href="https://docs.github.com/en/communities/documenting-your-project-with-wikis/about-wikis">WIKIS</a>.&nbsp; Wikis provide a place in your repository to lay out the design and high level roadmap of your project.&nbsp; &nbsp; &nbsp;WIKIS should be capture longer "stories".&nbsp; Most of the presentations we had in Trimester 1 could be authored in WIKIS. Think about how wikipedia is organized.</li><li><a href="https://docs.github.com/en/issues/tracking-your-work-with-issues/about-issues">Issues</a>.&nbsp; Use GitHub Issues to track assignment within team, feedback from other teams, or bugs.&nbsp; There is integration between Issues and Pull requests, when you want to manage you code base more effectively.</li><li><a href="https://docs.github.com/en/issues/organizing-your-work-with-project-boards/managing-project-boards/about-project-boards">Project Board.</a>&nbsp; Beta <a href="https://docs.github.com/en/issues/trying-out-the-new-projects-experience/about-projects">Project Board</a>. &nbsp; There needs to be a view into your Issues that easily identifies status.&nbsp; Kanban is the Scrum Board style we used.&nbsp; There are other presentations, your README should present the presentation you use and is comfortable with your team.</li></ul><div><br><strong>These question need to be answered through a WIKI in your project.&nbsp; BOF Scrum Masters questions :&nbsp;</strong></div><ul><li>What are your Scrum Board likes/challenges? &nbsp;</li><li>What are Friday/Monday Delivery likes/challenges?&nbsp; &nbsp;</li><li>What style will you use when start your Scrum Board</li><li>How will you handle issues that come up on you Scrum Board?&nbsp; Issues from Teacher or Crossover?</li><li>Do you know of great examples of improvement you have observed from Twitter posts?&nbsp; Scrum Team you observed?&nbsp; Comment that were made on your former projects?</li><li>What actions should we take in Tri 2 to get better at management of Issues?</li></ul><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-06 16:59:31 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1871773558</guid>
      </item>
      <item>
         <title>Tech Talk 0.1 - CB Topics and Practice Testing </title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1871775570</link>
         <description><![CDATA[<div><br><strong>College Board.&nbsp; </strong>FRQs Unit #2 - #10.&nbsp; Assignments have been made.&nbsp;</div><ul><li>Units #2-#10, due on Weeks #2-#10 respectively</li><li>The FRQ Unit for the week is DUE at the beginning of class on TPT day.&nbsp; For instance, Unit #2 is due on Tue of Week #2.</li><li>FRQs need to be incorporated into Web Site and be Online at each due date.&nbsp; Code needs to run and a link to GitHub should be on the runtime screen.&nbsp; How we grade is TBD and can change week to week.</li><li>Grading will NOT be occur on CB website.&nbsp; There is NO reason to submit these on CB.&nbsp; FRQs will be reviewed through your PBL project.&nbsp; "This may cause github and deploy challenges, WORK IT OUT!</li><li>Each FRQ Unit is considered as an individuals homework.&nbsp; Tuesday in class is the only time that your FRQ should take priority over your PBL.</li><li>Student led TPT will continue, but we will have more involvement, activities and rotation.&nbsp; Activities should be interactive, very little lecture.&nbsp; Rotations will be graded.</li></ul><div><br>A practice Exam is Due Dec 17th</div><ul><li>2014 FRQ, it is really important to understand FRQ style of questions.&nbsp; Their are 4 questions of 4 types, you need to know this in order to PREP effectively.  Technical Officers need to look this up ASAP!  This information should be discussed at BOF and then shared with teams.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-06 17:01:42 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1871775570</guid>
      </item>
      <item>
         <title></title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1881881657</link>
         <description><![CDATA[]]></description>
         <enclosure url="http://www.stgeorgeutah.com/wp-content/uploads/2015/12/lynn_11-23-2010_turkey_1.jpg" />
         <pubDate>2021-11-10 16:53:15 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1881881657</guid>
      </item>
      <item>
         <title></title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1881882648</link>
         <description><![CDATA[]]></description>
         <enclosure url="https://www.photos-public-domain.com/wp-content/uploads/2011/01/outdoor-christmas-tree-with-lights-and-snow.jpg" />
         <pubDate>2021-11-10 16:53:39 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1881882648</guid>
      </item>
      <item>
         <title></title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1881952216</link>
         <description><![CDATA[<pre>Model Sprint 4, 5
Week 4</pre><div><strong>Goals for Week:<br></strong>1. Regroup with team after break, continue on with plans as outlined on Scrum Board.<br>2. Individual Reviews by Teacher.&nbsp; Review About Pages and FRQ2, FRQ3 with students in Class.<br><br><br><strong>Points for the Week: 3, 4, 5<br></strong>1. Daily reviews...&nbsp; Teacher will be daily observing: attendance, activity, individual questions, work habits, tutorial if behind.<br>2. Individual Runtime review on FRQs progress/quality.<br>3. Team Runtime review and Feature progress/quality.<br>4. Individual Analytics, FRQs, and About page.<br>5. Team Analytics, Issues and Tangibles</div><div><br><br>M - Standup planning meeting for 2 weeks. Teacher Individual Reviews throughout week.<br>Tu - TPT, FRQ4 by Students<br>W - <a href="https://github.com/nighthawkcoders/nighthawk_csa/wiki/Tri-2:-Tech-Talk-4---String-Ops">TT4 Review String Ops and FRQ2</a> plus Challenge<br>Th - CCC, live reviews on Projects (Analytics, Tangibles)<br>F - CCC, live reviews on Projects (Analytics, Tangibles)<br><br></div><div><br></div><pre>Model Sprint 4, 5
Week 5</pre><div><strong>M </strong>- Stand Up Meetings, Indi Reviews</div><div>Tu - TPT 5, Indi Reviews<br>W - Tech Talk 5<br>Th - CCC, PBL reviews<br>F - CCC, PBL reviews</div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-10 17:19:13 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1881952216</guid>
      </item>
      <item>
         <title>Tech Talk 2.2 - Database Review and One to One</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1882018227</link>
         <description><![CDATA[<div>Review on SQLite Database. &nbsp; A Database provides persistent storage for your application.<br><br>Model.&nbsp; <a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/java/com/nighthawk/csa/data/SQL/ScrumTeam.java#L31-L49">One to One</a> allows relationship between tables.<br>View.&nbsp; <a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/resources/templates/data/scrum_team_form.html#L64-L69">HTML Select</a> allows Person List to be used as input.<br>Control.&nbsp; <a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/java/com/nighthawk/csa/data/ScrumTeamSqlMvcController.java#L36-L49">Person list</a> are shared with Scrum Modification Form.&nbsp; <a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/resources/templates/data/scrum_team.html#L46-L47">Access to attributes</a> in Person Table allows for One to One information access.<br><br>Checks for Scrum Team members when person is deleted (<a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/java/com/nighthawk/csa/data/SQL/PersonSqlRepository.java#L51">Person Delete </a> calls&nbsp; <a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/java/com/nighthawk/csa/data/SQL/ScrumTeamSqlRepository.java#L45">Scrum Team check</a>)<br><br>Looking at Scrum Team table.&nbsp; Person ID's are saved in Columns from Model above.&nbsp; JPA does work to point or reference specific data.</div><pre>sqlite&gt; .tables
hibernate_sequence  person              scrum_team        
sqlite&gt; select * from scrum_team;
62|Team 1|5|7|11|15|3</pre><div><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-10 17:44:28 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1882018227</guid>
      </item>
      <item>
         <title>Individual Assignment</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1889779346</link>
         <description><![CDATA[<div>Intro 0.3 <strong>Individual Assignment</strong>.&nbsp; Everyone Develops code, here is individual About Us pages requirement.  This can steal of harvest from last term, but must be personalized and managed as your own code.</div><ul><li>Page must use a Layout and have special customization (color pallet, background, etc)</li><li>Picture with Mask that toggles to Picture of Choice (ie pic without mask).  Perhaps ASCII art.</li><li>Pull or show data (Web API) with information of interest</li><li>Establish link(s) to journal and other key indicators of your work and progress on your home page (remember Tri 1 pop quiz)</li><li>Store and Retrieve Data, ie simple comment database OR add links from previous bullet dynamically.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-14 23:58:22 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1889779346</guid>
      </item>
      <item>
         <title>Agile Development Concepts</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1891649207</link>
         <description><![CDATA[<div>Intro 0.4:&nbsp; Ask, Act, Study, Act to Become vs. Agile Development Concepts<br><br><strong>Plan/Ask.</strong>&nbsp; Align your team on the “what”, the “when” and the “why”. Track your product roadmap, plan features, build your scrum board, and assign sprint tasks with checklists and flexibility.<br><br><strong>Create</strong>/<strong>Act</strong>.&nbsp; Code socially, get input from peer groups, share designs, review others code, and build a community of practice to work iteratively and improve the quality of your code.<br><br><strong>Commit/Study. </strong>&nbsp;Release with confidence, review Pull Requests — release regularly and on time — use process checklists, CI/CD, monitoring, analytics, and automation.<br><br><strong>Deliver</strong>/<strong>Act to Become</strong>.&nbsp; Production incidents happen. Raise issues, refine processes to help&nbsp; resolve incidents quickly and make sure to they don’t happen again.&nbsp; <br><br><strong>Repeat</strong>.&nbsp; Loop over each phase again and again. &nbsp; Before you go back to planning the next sprint, hold a retrospective meetings to answer questions like…<br>What went well?<br>What didn’t go so well?<br>What have you learned?<br>What still puzzles you?<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-15 15:47:48 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1891649207</guid>
      </item>
      <item>
         <title>Tech Talk 2.1 - Deployment - Subdomains and Certbot</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1894689801</link>
         <description><![CDATA[<div>Deployment has moved to <a href="https://github.com/nighthawkcoders/nighthawk_csa/wiki">Wiki</a> and includes updates for the below.<br><br>Subdomains and multiple APPs<br>1.&nbsp; CNAME records (subdomains) should be added to DNS to support multiple apps on same server.&nbsp; Alternative is to create a new domain and point to same server.<br>2. Requires a new service for APP running at a different enpoint (new port)<br>3. Requires a new Nginx configuration, requires subdomain or new domain and direction to endpoint.<br><br>Certbot<br>1. Requires Certbot installation, which has dependencies on Snap<br>2. Port Forwarding for SSL 443 must be added to router.<br>3. Using "certbot --nginx" will update Nginx configuration files, this is managed by the tool.<br><br></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-16 16:54:16 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1894689801</guid>
      </item>
      <item>
         <title>Tech Talk 6 - Using RESTful APIs with HTML and JavaScript</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1894699219</link>
         <description><![CDATA[<div>More depth on RESTful APIs and JavaScript Fetch...</div><ul><li>Background Processes, keeping page updated</li><li>Navbar updates (weather, stock)</li><li>Navbar actions (search)</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-16 16:58:00 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1894699219</guid>
      </item>
      <item>
         <title>Tech Talk 0.3 - GitHub Admins</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1897245359</link>
         <description><![CDATA[<div><strong>GitHub Admin BOF<br></strong>Linus Torvalds invented Linux and about 2005 invented Git.&nbsp; Quotes by Linus:</div><ul><li>“Talk is cheap. Show me the code.”</li><li>“Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.”</li><li>Microsoft isn't evil; they just make really crappy operating systems.</li></ul><div><br>GitHub.com was launched in April 2008 by Tom Preston-Werner, Chris Wanstrath, P. J. Hyett and Scott Chaco.&nbsp; GitHub is a subsidiary of <a href="https://en.wikipedia.org/wiki/Microsoft">Microsoft</a> since 2018 (kind of ironic with Git quote above), but GitHub is not Git it helps manage the server or backend.<br><br>Git is local and GitHub is in the cloud.&nbsp; Together they have become industry standards since about 2015.&nbsp; Formerly in industry we used tools like (ClearCase and Perforce), before the 90s we had home brewed systems.&nbsp; Kind of like making smart backups of files.<br><br>Terms and Concepts</div><ul><li>"git clone" makes a local repository (decentralized) from the cloud server (GitHub).&nbsp; &nbsp;</li><li>A .git directory contains a local database (see illustration) that keeps track of local changes, "git commit" makes a child of the original parent on the local directory.&nbsp; Git commits over time are a series of SHA's.</li><li>A .gitignore file tells .git to ignore certain files in directory tree (ie .idea)</li><li>The "git push" command moves files from local system back to cloud server (GitHub)</li><li>Often a merge is required as a decentralized system has many simultaneous contributors.</li><li>Git branches and/or forks can be used to push code to&nbsp; isolated locations to on the server/cloud.&nbsp; This simply delays the inevitable merge, but has benefit of keeping main branch of project stable.</li><li>Pull requests is common process used to merge code from isolated branches to main branch.</li></ul><div><strong><br></strong>In trimester 2, it is required that you have a policy on <a href="https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors">Contributing Guidelines</a>.&nbsp; Many student have reflected about problems of merging and managing change.&nbsp; You need to create a policy to communicate how Scrum Team or Others should contribute to your project.&nbsp; Here are some resources I expect you to understand...</div><ul><li><a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests">Pull Requests</a> and <a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches">Branches</a>. &nbsp;</li><li>An alternative to branches is <a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork">Forks</a>.</li><li>IntelliJ <a href="https://www.jetbrains.com/help/idea/manage-branches.html">Branch Creation</a></li><li>IntelliJ <a href="https://www.jetbrains.com/help/idea/apply-changes-from-one-branch-to-another.html">Apply Branches</a></li><li>IntelliJ and Pull Request <a href="https://www.google.com/search?q=IntelliJ+and+GitHub+Pull+requests&amp;oq=IntelliJ+and+GitHub+Pull+requests&amp;aqs=chrome..69i57.14676j0j7&amp;sourceid=chrome&amp;ie=UTF-8#kpvalbx=_sMaVYarONJnA0PEP9tmSwAQ21">Video</a></li></ul><div><br><strong>These question need to be answered in WIKI for you Project.&nbsp; BOF Github Admins policy document:&nbsp;</strong></div><ul><li>How have you started you GitHub project?&nbsp; Did you create a .gitignore to avoid committing files that don't belong in version control?&nbsp; Did you make sure NO .idea files are in your GitHub repository.</li><li>How do you manage commits to avoid problems? &nbsp;</li><li>Have you considered branching techniques with pull requests? &nbsp;</li><li>What actions will you&nbsp; take this Trimester to get better at managing merge or commit problems?</li></ul>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/462290215/5ed51a3c83ae487ce71dcf192f10ae7c/image.png" />
         <pubDate>2021-11-17 15:46:43 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1897245359</guid>
      </item>
      <item>
         <title>Tech Talk 0.4 - Deployment Admins</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1899839122</link>
         <description><![CDATA[<div>Deploying your web application on a web server in a production-like environment is part of your development process.&nbsp; This is the step that connects you to the Internet. &nbsp;<br><br>Deployment contains the following steps...</div><ul><li>Obtain equipment (RPi or AWS).</li><li>Git.&nbsp; Setting up an environment on deployment host to synchronize changes.</li><li>Java.&nbsp; Building and running the Web Application on the deployment host.&nbsp; This involves resolving any dependencies for Web Application.</li><li>Service File.&nbsp; This involves starting and keeping Java Web Application&nbsp; running.</li><li>Nginx File.&nbsp; This is the Reverse Proxy configuration setup directing HTTP(S) requests to Web Application. This setup can support multiple Web Applications.</li><li>DNS routing.&nbsp; This involves having a friendly domain name to route to the server hosting the Web Application proxy. &nbsp; Note, port forwarding is required when server has private IP and is behind a router.</li><li>Certbot (certbot --ngiinx).&nbsp; This is certificate setup to enable your Web Application to be secure.</li></ul><div><br>After initial deployment the steps are simple.</div><ul><li>Pull from GitHub</li><li>Rebuild Java Application</li><li>Restart Service File</li></ul><div><br><strong>BOF-Deployment Admins Discussion:</strong><br>Did you deploy last Trimester?&nbsp; Any success stories?&nbsp; Do you understand need for deployment?&nbsp; What do you need to get started?&nbsp; AWS or RPi?&nbsp; How frequently do you plan to update your deployment?&nbsp; Do you plan to deploy from multiple branches or forks?<br><br>Recommended Guide...<br>https://csa.nighthawkcodingsociety.com/course/deploy<br><br>Another Guide showing a Gradle environment, plus similar final steps...<br>https://help.clouding.io/hc/en-us/articles/360010806999-How-to-Deploy-Spring-Boot-Application-with-Nginx-on-Ubuntu-18-04<br><br>Spring IO official reference<br>https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment<br><br>RPi Student Guide:&nbsp; https://docs.google.com/presentation/d/1-afmt3XGlzlVqjwS8Ign6y61j-st1VhoFk3uwW3o6Sk/edit#slide=id.gfb5acf7e8b_0_66<br><br>AWS Student Guild: https://docs.google.com/presentation/d/15x_G6vxpZ05hx_99myCcXRXd3vy2AMQRP2sN7mYAAHY/edit?usp=sharing<br><br></div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/462290215/4ad94718188058cd96c17191b20083e0/image.png" />
         <pubDate>2021-11-18 15:29:53 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1899839122</guid>
      </item>
      <item>
         <title></title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1904639256</link>
         <description><![CDATA[<pre>Innovation Sprint 1,2
Week 1</pre><div>Goals for Week(s) - Scrum Masters to obtain <strong>Project Approvals.&nbsp; </strong>Individuals interested in success should plan ahead to week after Winter Break.</div><ul><li>M - Planning meeting between now and week after Tree.&nbsp; Stand Up meetings (Scrum Team and BOF).&nbsp; Form TPT from <strong>Student Led OO's and TOs</strong></li><li><strong>Tu</strong> - Student Led TPT</li><li>W - CCC, <strong>Design manager BO</strong>F Tech Talk 1.1</li><li><strong>Th</strong> - CCC, <strong>Technical Officer BOF</strong>, Tech Talk 1.2, Async Search Project</li><li>Th &amp; F - Conduct Scrum Master / Teacher <strong>Project</strong> <strong>Reviews</strong></li><li><strong>F</strong> - CCC.&nbsp; Review ticket Crossover score and TPT and score, focus on fellow BOF.&nbsp; MOtD: Designers &amp; TOs need to share their Tech Talks with the rest of the team.&nbsp; Common themes should be built into Home Pages next Friday.</li></ul><div><br>Points for the Week</div><ul><li>see Canvas Week 1 - Project Approval</li></ul><div><br></div><pre>Innovation Sprint 1,2
Week 2</pre><div>Goals for Week:<br><br>&nbsp;Individuals deliver <strong>About Pages </strong>via <strong>Runtime Server.&nbsp; &nbsp;</strong>Design layouts required in About Pages this Friday.<strong> <br><br></strong>Scrum Boards planned through week after Winter Break. &nbsp;<br><br>FRQ #2 due on About Page and reviewed in class tomorrow<br><br>Cross Over planning objective.&nbsp; Discuss building trainings on your BOF topic in Wiki (Management policies, Deployment guide/policies, Designer layouts &amp; TO databases/search)<br><br></div><ul><li><strong>M</strong> - <strong>Stand Up meetings</strong> (Scrum Team 10 minutes and BOF 10 minutes)</li><li><strong>Tu</strong> - See TPT schedule.&nbsp; After TPT Designer BOF to instruct on <strong>layout guidelines</strong> within Scrum Team.</li><li><strong>W</strong> - CCC, <strong>Deployment Manager BOF</strong>, Tech Talk 2.1</li><li><strong>Th</strong> - CCC, <strong>&nbsp;Technical Officer BOF, Tech Talk 2..</strong> Scrum Team (Scrum Master, GitHub Admin, Deployment Manager) perform <strong>release day policy</strong> training.</li><li><strong>F</strong> - CCC, <strong>About Pages 1.0 Due </strong>via Deployed Server due, details on <strong>Canvas (Live reviews by Teacher, OOs, TOs</strong></li></ul><div><br></div><div>Points for the Week</div><ul><li>see Canvas</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-21 17:33:33 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1904639256</guid>
      </item>
      <item>
         <title>Tech Talk 1.2 - Accessing data Asynchronously</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1915720929</link>
         <description><![CDATA[<div><strong>Student BOF review</strong>.&nbsp; Technical Officer <strong>is responsible.<br><br></strong>&nbsp;This Tech Talk will focus on interactions between frontend Javascript and backend Java.&nbsp; Including the use&nbsp; of SQLite databases.<br><br>Tools like Ajax, <strong>Fetch</strong>, <strong>or </strong>Axios<strong> </strong>allow loading information between JavaScript and backend to occur without waiting for result, asynchronously and without page refresh.&nbsp; This will give the feel of professional transitions and allow for access to server/persistent content without pausing client.<br><br>In this example, we will use&nbsp; and return result from a Search of SQLite data.<br><br>Accessing data that is persistent is divided into MVC...</div><ol><li><a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/java/com/nighthawk/csa/data/SQL/PersonJpaRepository.java"><strong>Model</strong></a> , <a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/java/com/nighthawk/csa/data/SQL/PersonSqlRepository.java#L26-L35">Model Part 2</a> is where we gather data. (Java/SQLite).&nbsp; This includes Filtering and returning LIST a custom JPA query.&nbsp; <a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/java/com/nighthawk/csa/data/SQL/PersonSqlRepository.java#L33">Like</a> type query requires special syntax.</li><li><a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/resources/templates/data/person_search.html#L42"><strong>View</strong></a> is where we display the data (HTML/JavaScript).&nbsp; This includes sending data from User to Backend.&nbsp; BootStrap infused HTML, JavaScript Fetch, and dynamically building result Container.</li><li><a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/java/com/nighthawk/csa/data/PersonSqlMvcController.java#L136"><strong>Control</strong>&nbsp;</a>is where we set up routes and direct traffic between Model and View. &nbsp; Receiving request entity, handling success/errors and returning response entity are responsibilities of control.</li></ol><div><br><a href="https://csp.nighthawkcodingsociety.com/crud/search/">Runtime</a> is a search box. &nbsp;</div><ul><li>Pressing Search button and leaving search box is empty will return all the data.</li><li>Entering a string and pressing Search button will look for partial match in database, filter is looking for result in either&nbsp; name and email. &nbsp;</li><li>Result area is under Search Box.&nbsp; This area is cleared between each search.</li></ul><div><br>Useful tool: <a href="https://www.sqlite.org/download.html">Download SQLite3</a></div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-27 21:30:58 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1915720929</guid>
      </item>
      <item>
         <title>Tech Talk 1.1 - Organizing Templates, Bootstrap and using Sassy</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1915722397</link>
         <description><![CDATA[<div><strong>Student BOF review</strong>.&nbsp; Layout and Design <strong>&nbsp;Manager is responsible.</strong></div><div><strong><br>Intentions </strong>with<strong> </strong>View and Thymeleaf and Layouts</div><ul><li><a href="https://getbootstrap.com/docs/5.0/getting-started/introduction/#starter-template">Bootstrap starter template</a></li><li><a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/resources/templates/layout.html">layout.html</a></li><li>Establishing consistent style across HTML, review <a href="https://github.com/nighthawkcoders/nighthawk_csa/tree/master/src/main/resources/templates/starters">starter templates</a></li><li><a href="https://getbootstrap.com/docs/5.0/layout/containers/">Containers</a>, <a href="https://getbootstrap.com/docs/4.0/layout/grid/">Grids</a> , <a href="https://getbootstrap.com/docs/4.0/components/card/">Cards</a>,&nbsp; <a href="https://getbootstrap.com/docs/4.0/components/navbar/">Navbars</a></li><li><a href="https://padlet.com/jmortensen7/weblayout">head, style, script, body</a></li><li><a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/resources/templates/starters/binary.html">binary.html</a> example and demo</li></ul><div><br></div><div><br>Dark Mode Example</div><ul><li>The Society standard requires Light and Dark design considerations for each page, review <a href="https://csa.nighthawkcodingsociety.com/">runtime menu</a></li><li>Introduction to Sassy CSS (SCCS), this is used to support Dark Mode independent color overrides of Bootstrap, <a href="https://github.com/nighthawkcoders/nighthawk_csa/tree/master/src/main/resources/static/scss">custom.sccs</a></li><li><a href="https://github.com/nighthawkcoders/nighthawk_csa/blob/master/src/main/resources/templates/fragments/nav.html">Local storage and Java Script</a></li></ul><div><br><br>Sassy CSS Installation Requirements</div><ul><li>Install <a href="https://nodejs.org/en/">node.js</a></li><li>From Terminal in IntelliJ, MacOs requires "sudo" on 1st two commands<ul><li>npm install -g sass</li><li>npm install --global less</li><li>npm install bootstrap</li></ul></li><li>In .gitignore add lines<ul><li><pre>node_modules
/node_modules/.package-lock.json
/package.json
/package-lock.json</pre></li></ul></li><li>In IntelliJ Plugins add "File Watcher"</li><li>In IntelliJ Settings Tools-File-Watcher. configure SCSS<ul><li>See Visual with Page</li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-27 21:34:48 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1915722397</guid>
      </item>
      <item>
         <title></title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1915780261</link>
         <description><![CDATA[<pre>Intro Database Sprint 3
Week 3</pre><div>Goals for Week</div><ul><li><strong>M </strong>- Stand Up Meetings (Scrum Team and BOF)</li><li><strong>Tu</strong> - TPT 3, After TPT TO's to train teams on Database and Search.</li><li><strong>W</strong> - CCC, Deployment Manager Runtime Reviews and Questions</li><li><strong>Th</strong> - PBL 1.0 Live Reviews</li><li><strong>F</strong> - PBL 1.0 Live Reviews cont.&nbsp; Elephant Gift or Potluck?&nbsp; , AP Practice Test Due</li></ul><div><br>Points for the Week</div><ul><li>see <strong>Canvas </strong>Week<strong> </strong>3<ul><li>All 5 BOFs illustrate deliverables</li></ul></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-28 00:32:17 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1915780261</guid>
      </item>
      <item>
         <title>TPT 0,1,2,3</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1915783619</link>
         <description><![CDATA[<div><strong>TPT requirements before Tree<br>P1 OO's - Adi, Natashia, Raq<br>P2 OO's - Alvin, Raadwam. Rishi, Ishan<br></strong><br><strong>Week 0</strong><br>No TPT<br><strong>Week 1</strong><br>- Start Unit #2 FRQ<br><strong>Week 2</strong><br>- Unit #2 FRQ due and online (TO P1:Sarah, P2:Arnav)<br>- Start Unit #3 FRQ<br><strong>Week 3<br>- AP 2014 Practice Test Due<br></strong>- Unit #3 FRQ due and online (TO P1:Yajat, P2:Brayden)<br>- Start Unit #4 FRQ</div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-28 00:42:57 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1915783619</guid>
      </item>
      <item>
         <title>TPT 4,5,6,7,8,9,10</title>
         <author>jmortensen7</author>
         <link>https://padlet.com/jmortensen7/csa2022tri2/wish/1918396158</link>
         <description><![CDATA[<div><strong>TPT requirements after Tree<br></strong><br><strong>Week #4<br></strong>Unit #4 FRQ due and online (TO P1:Bryant, P2:Calvin)<br><strong>Week #5<br></strong>Unit #5 FRQ due and online (TO P1:Adi: P2: Navodit)<br><strong>Week #6<br></strong>Unit #6 FRQ due and online (TO P1:Dane, P2: Komay)<br><strong>Week #7<br></strong>Unit #7 FRQ due and online (TO P1:Dillan, P2: Michael)<br><strong>Week #8<br></strong>Unit #8 FRQ due and online (TO P1:Dhruv, P2: Rohan K)<br><strong>Week #9<br></strong>Unit #9 FRQ due and online (TO P1:Aman, Adriti)<br><strong>Week #10<br></strong>Unit #10 FRQ due and online (TO P1:Sarah, Arnav)</div>]]></description>
         <enclosure url="" />
         <pubDate>2021-11-29 16:40:05 UTC</pubDate>
         <guid>https://padlet.com/jmortensen7/csa2022tri2/wish/1918396158</guid>
      </item>
   </channel>
</rss>
