tag:blogger.com,1999:blog-88536376705220771262024-03-13T08:18:13.216-07:00geekitariangadgets, technology, teaching, jobs, cameras, and other geek stuffgeekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.comBlogger78125tag:blogger.com,1999:blog-8853637670522077126.post-56499872797588370092021-05-28T12:22:00.002-07:002021-05-28T13:17:54.969-07:00A Story of Student Loan Debt<p>I was paying bills today and it struck me how much easier things are since my wife and I paid off all of our student loans 2 years ago. </p><p>I’m simultaneously happy with a system that allows a broke kid like me to go to a decent college, and shocked by the crushing burden of debt that it can create. </p><p>The story of my own college debt is convoluted, uninformed, and fraught with my own mistakes and missteps. I grew up in Ohio always thinking I’d be going to OSU. I ended up doing in better on my SAT than anybody expected (myself included), and the University of Dayton offered me a big scholarship. Nevermind that OSU would still have been significantly cheaper. I decided to chase the dollars. It felt great to be offered so much money, though I didn't quite grasp the idea that it was more of a <i>discount</i> than a cash offer. It went fine; I sometimes felt unprepared, but I did OK overall and finished the year with a decent GPA.</p><p>I had a girlfriend when I started college. The long distance was too much for the young relationship and we broke up. I was heartbroken, and definitely way too obsessive about it. I made a rash decision to transfer to Pitt to be closer to her, in the hopes that I could work things out and salvage the relationship (spoiler: I did not). Pitt offered me a decent scholarship and I enjoyed the new experience, but after the first semester, for a variety of reasons I descended into a bad depression. </p><p>I spent a lot of 1999 alone in my room. In the entire year, I earned 12 credits; with a GPA closer to 1.0 than 2.0, I nearly got kicked out. Needless to say, I lost the scholarship. Paying for school became a significant challenge - the loans, grants, and other programs didn’t cover the cost of tuition. Moving off campus helped a bit, but I still had to figure out how to rush to the bursar’s office every semester to pay the outstanding balance before they canceled my registration. </p><p>I did eventually bounce back. I started learning more and more about computer science, both in classes and on my own. I got a sequence of part time jobs that looked something like internships. I figured out creative ways to pay rent. I met my future wife. I got my act together and was able to graduate, only one year behind schedule.</p><p>Then, six months after graduation, the loan payments were due. I always knew that 5 years’ worth of tuition had to be paid back - but it always seemed abstract, and so far in the future. I was making a decent salary, but the payments + rent + living expenses were more than I was earning. I knew if I went back to grad school, I could defer my student loan payments. I’d be racking up more debt, but I’d also be likely to make more money after I finished.</p><p>I’m glad I got an MBA. It was useful knowledge and I’ve always loved learning. It did help with the earning side, too - after graduation, I got a new job offer for $20,000 more than what I was making at that time. Obviously, though, it came with more student loans. </p><p>I actually kept this cycle up for 10 years. Deferring student loan payments wasn’t the only reason to get graduate degrees #2, 3, and 4, but it was a big part of the motivation. </p><p>At the peak, my wife and I had accumulated more than $200,000 in student loan debt. I was fortunate to be able to earn enough to start paying the loans down and get to a good place financially (I talked about the experience as part of a <a href="https://www.post-gazette.com/local/2008/02/12/College-students-deal-with-a-lifetime-of-debt/stories/200802120190" target="_blank">Post-Gazette</a> article years ago). I’m happy to say that I was eventually able to pay them off completely, almost 22 years after enrolling in my first college course. </p><p>I had immense privilege to make it this far. I had some safety nets and had more than a few things go my way - and I really hope that educational opportunity will be more equitable for far more people in the future.</p><p>What did I learn that might be helpful for others?</p><p></p><ul style="text-align: left;"><li>While everything worked out fine for me in the end, I wish I'd spent more time reviewing the actual cost of an education. It's broadly variable. Most states have options that a good balance of quality and cost - remarkably lower than what I paid in total. <b><i>Review what your options are, and consider the costs.</i></b></li><li>I don't know if this has changed, but when I was younger, poor kids hate admitting that they're poor. I wish I'd have been able to get over that. <b><i>Don't be afraid or embarrassed to discuss affordable options for college.</i></b></li><li>I knew the loans would have to be paid back, but I didn’t really comprehend the full scope of what that meant: how much the monthly payment would be, and how much I’d have to earn to afford that payment was just an abstract concept. <b><i>Look at that monthly payment every semester to make it real.</i></b></li><li>I wish there had been better mental health support options, and more information about what was available. I had some great, really accommodating professors, but at no point in my decline was I offered the kind of help I really needed. <b><i>Recognize that you might need help, and don't be afraid to seek that help.</i></b></li><li>One of the reasons that was able to do any of this is that my private loan interest rate was lower than unsubsidized Stafford loan rates today. Right now, it's possible that private loans may be a better option, but it's even better to get grants and other financial aid that doesn't have to be paid back.<b><i> Review loan options thoroughly, and pursue as many grants and scholarships as you can.</i></b></li></ul>geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com1tag:blogger.com,1999:blog-8853637670522077126.post-47708965694197182242019-10-18T07:56:00.001-07:002019-10-18T07:56:52.238-07:00Data Structures: Traversing a Graph<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: inherit;">Let's say we want to find the path between an origin and a destination in a graph. We'll want to return a LinkedList that lists vertices in order from the origin to the destination. To do this we’ll find the shortest path.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">In order to implement a getShortestPath method, we can take the following steps:</span><br />
<br />
<ol>
<li><span style="font-family: inherit;">Create a queue. This will tell you the next vertices to visit.</span></li>
<li><span style="font-family: inherit;">Create a map. This will allow you to identify visited vertices, as well as trace your path backward.</span></li>
<li><span style="font-family: inherit;">Add the origin vertex to your queue.</span></li>
<li><span style="font-family: inherit;">Add the origin vertex to your map (try origin as the key, and null as the value).</span></li>
<li><span style="font-family: inherit;">Then, while your queue is not empty (i.e. while you still have nodes not traversed):</span></li>
<ol>
<li><span style="font-family: inherit;">Retrieve & remove the next value from your queue. We’ll call it “currentVertex” for now.</span></li>
<li><span style="font-family: inherit;">If currentVertex is your destination, you’ve finished. Calculate the path from origin to destination (using your map) and return it.</span></li>
<li><span style="font-family: inherit;">If currentVertex is not your destination, retrieve the vertices adjacent to it. </span></li>
<ol>
<li><span style="font-family: inherit;">We can call each of these neighbor vertices “neighborVertex” for now.</span></li>
<li><span style="font-family: inherit;">If neighborVertex is not a key in your map, then add it to the queue.</span></li>
<li><span style="font-family: inherit;">Also, if neighborVertex is not a key in your map, add it to your map (where the map keys are neighborVertex, and the map values are currentVertex).</span></li>
</ol>
<li><span style="font-family: inherit;">If your queue is empty, that means you’ve looked at all of the vertices. There’s no path from origin to destination, so return null.</span></li>
</ol>
</ol>
<div>
<div>
<span style="font-family: inherit;">The procedure for calculating the path from origin to destination is pretty easy once you’ve found the destination and you have a map (where the keys are vertices, and their values are how you traveled to that vertex).</span></div>
</div>
<div>
<ol>
<li><span style="font-family: inherit;">Create a variable called “current” and set it equal to your destination.</span></li>
<li><span style="font-family: inherit;">Create a LinkedList to represent the path.</span></li>
<li><span style="font-family: inherit;">While current is not your origin:</span></li>
<ol>
<li><span style="font-family: inherit;">Add current to the front of your list.</span></li>
<li><span style="font-family: inherit;">Retrieve the value for current from the map.</span></li>
<li><span style="font-family: inherit;">Set current equal to that value.</span></li>
</ol>
<li><span style="font-family: inherit;">Add origin to the front of your list.</span></li>
</ol>
</div>
<div>
<div>
<span style="font-family: inherit;">Note that there may be 2 or more shortest paths from origin to destination in your graph - that’s OK and not entirely unexpected.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">Consider this graph:</span></div>
<div>
<span style="font-family: inherit;"><img height="169" src="https://lh3.googleusercontent.com/j7v3Fyg7QaltS4pVWyHfzkMKAtN1Cq6UaEb9BSPp366h_R4y5QS6_AisCsLQVBJ64VhlsZOjkd_nfz2Wm-NlcqZgwydE6Kwnaz1sSDYUhZdUmRTNZy-FQpXemVf4j_zP8eCQNhv_" style="border: none; font-size: 11pt; transform: rotate(0rad); white-space: pre;" width="250" /></span></div>
</div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<div>
<span style="font-family: inherit;">If we are trying to find the shortest path from A to F, we start with an empty queue and an empty map.</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {}</span></li>
<li><span style="font-family: inherit;">queue: </span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">We start by adding the origin to our queue, and identify in our map that it came from "nowhere" - i.e., it's where we're starting.</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null}</span></li>
<li><span style="font-family: inherit;">queue: A</span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">Then we start step 3. We take A from the queue:</span></div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null}</span></li>
<li><span style="font-family: inherit;">queue: </span></li>
<li><span style="font-family: inherit;">currentVertex: A</span></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<span style="font-family: inherit;">A is not our destination, so we proceed to check the neighbors of A. None of them are in our map, so we add them to the queue and the map:</span></div>
</div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A}</span></li>
<li><span style="font-family: inherit;">queue: B, D</span></li>
<li><span style="font-family: inherit;">currentVertex: A</span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">Now we retrieve and remove the front of our queue:</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A}</span></li>
<li><span style="font-family: inherit;">queue: D</span></li>
<li><span style="font-family: inherit;">currentVertex: B</span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">B is not our destination, so we proceed to check the neighbors of B. B’s neighbors are A, C, and F. A and B are already keys in our map, so we add F to the queue and the map:</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A, F => B}</span></li>
<li><span style="font-family: inherit;">queue: D, F</span></li>
<li><span style="font-family: inherit;">currentVertex: B</span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">Now we retrieve and remove the front of our queue again:</span></div>
</div>
</div>
</div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A, F => B}</span></li>
<li><span style="font-family: inherit;">queue: F</span></li>
<li><span style="font-family: inherit;">currentVertex: D</span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">D is not our destination, so we proceed to check the neighbors of D. D’s neighbors are A and E. A is already a key in our map, so we add E to the queue and the map:</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A, E => D, F => B}</span></li>
<li><span style="font-family: inherit;">queue: F, E</span></li>
<li><span style="font-family: inherit;">currentVertex: D</span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">Now we retrieve and remove the front of our queue again:</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A, E => D, F => B}</span></li>
<li><span style="font-family: inherit;">queue: E</span></li>
<li><span style="font-family: inherit;">currentVertex: F</span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">F is our destination, so we retrieve the values from a map and build a Linked List. We start with current = F.</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A, E => D, F => B}</span></li>
<li><span style="font-family: inherit;">current: F</span></li>
<li><span style="font-family: inherit;">list: </span></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<span style="font-family: inherit;">We add F to the beginning of the list, then retrieve the value of F from the map and get B and set current to B.</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A, E => D, F => B}</span></li>
<li><span style="font-family: inherit;">current: B</span></li>
<li><span style="font-family: inherit;">list: F</span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">We add B to the beginning of the list, then retrieve the value of B from the map and get A.</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A, E => D, F => B}</span></li>
<li><span style="font-family: inherit;">current: A</span></li>
<li><span style="font-family: inherit;">list: B => F</span></li>
</ul>
</div>
<div>
<div>
<span style="font-family: inherit;">Our destination is A, so we are done looping. We just need to add A to the beginning of our list. We end up with this:</span></div>
<div>
<div>
<ul>
<li><span style="font-family: inherit;">map: {A => null, B => A, D => A, E => D, F => B}</span></li>
<li><span style="font-family: inherit;">current: A</span></li>
<li><span style="font-family: inherit;">list: A => B => F</span></li>
</ul>
</div>
<div>
<span style="font-family: inherit;"><br /></span></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<div>
<span style="font-family: inherit;">ABF is the shortest path.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">You can try this approach with any two vertices in your graph - if any path exists between them, this algorithm will find the shortest path. If you’re not sure - try working out the algorithm on paper for origin=A and destination=G. There are 3 possible paths from A to G; ABCFG, ABFG, and ADEHG. This algorithm will find the shortest (ABFG).</span></div>
</div>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-83735235269018502502019-10-17T14:01:00.004-07:002019-10-17T14:31:18.376-07:00Sample Data Structures Exam Questions: Trees, Heaps, and Graphs<div>
<ol>
<li><span style="font-family: inherit;">If you want to access each node in a binary tree in sorted order, how would you go about doing this? Describe the procedure.</span></li>
<li><span style="font-family: inherit;">Draw the resulting binary tree if the following values are added (as ordered below). Is this tree complete? 56, 43, 60, 67, 80, 31, 12, 54, 65, 25, 28, 57, 50, 59</span></li>
<ol>
<li><span style="font-family: inherit;">What nodes could you add to make this tree complete?</span></li>
</ol>
<li><span style="font-family: inherit;">How many nodes are in a full tree if the tree’s height is 11? How many nodes are leaf nodes?</span></li>
<li><span style="font-family: inherit;">What is the computational complexity of retrieving a value from a full tree?</span></li>
<li><span style="font-family: inherit;">Describe the worst case for retrieval from a binary tree that is NOT full.</span></li>
<li><span style="font-family: inherit;">Identify each the steps involved in removing the value “88” from the tree below.<br /><img height="415" src="https://docs.google.com/drawings/d/sBBvgo_Pbxm2mi71_NsMafw/image?w=334&h=415&rev=1&ac=1&parent=1RQDIFc2Pzj40wngGsNnr-Vi1Y6qy3xZuTkwHb6BmjWg" style="border: none; white-space: pre-wrap;" width="334" /></span></li>
<li><span style="font-family: inherit;">Write the code for the method public void add(Comparable value) in a Tree object. State any assumptions made.</span></li>
<li><span style="font-family: inherit;">Assume you are building a map with a tree as its backing structure. Implement the get(Comparable key) method below. State any assumptions made (beyond the get and set methods available within the TreeNode object).<br /><img height="215" src="https://lh4.googleusercontent.com/d73GlxDJgrAiBZrUxHJtuu44nFJtIWTuwPYos1SIQ4P-Iv68XBJ1qvYKyuWvM0ZYljmMsW3t2MAJowXWzlkB-21MXXo116ovN1PNmPPDfeLTF066xx1hELLWHB5Gv5PTjwNhpAVs" style="margin-left: 0px; margin-top: 0px; white-space: pre-wrap;" width="400" /></span></li>
<li><span style="font-family: inherit;"><span style="white-space: pre-wrap;">If the root is removed from this heap, what does the resulting heap look like? Be sure to show each of the steps in removing the root.
</span><img height="200" src="https://docs.google.com/drawings/d/sgcqBrGyIBoDNr9HnxR9OHQ/image?w=253&h=200&rev=1&ac=1&parent=1RQDIFc2Pzj40wngGsNnr-Vi1Y6qy3xZuTkwHb6BmjWg" style="border: none; white-space: pre-wrap;" width="253" /></span></li>
<li><span style="font-family: inherit;">Perform a heap sort on the heap above (prior to removing the root). Show the array after each swap.</span></li>
<li><span style="font-family: inherit;">Explain the difference between weighted and unweighted graphs. Give an example of each.</span></li>
<li><span style="font-family: inherit;">Draw the undirected graph represented by the following list of edges: AB, AC, CD, DE, EA</span></li>
<ol>
<li><span style="font-family: inherit;">Assuming that neighbors would be visited in alphabetical order, how would you determine the shortest path from B to D? Describe the operations step-by-step, including the structures you would use.</span></li>
</ol>
<li><span style="font-family: inherit;">When you are simply printing the values in a binary tree, you can apply a simple recursive algorithm. The same procedure can’t be performed when building an iterator to return every node one-by-one. Why not? How would an iterator that returns the nodes one-by-one work?</span></li>
<li><span style="font-family: inherit;">Explain why a heap is usually a better approach than a sorted list for implementing a priority queue.</span></li>
<li><span style="font-family: inherit;">If you are removing a value from a tree and the node has two children, how can you remove this node? Explain the steps necessary.</span></li>
<li><span style="font-family: inherit;">What nodes, and in what order, could you add to a binary tree that holds the following nodes (in order) to make it complete? 31, 24, 39, 36, 50, 6, 32</span></li>
<li><span style="font-family: inherit;">Why is it easy to represent a heap in an array, but much more of a challenge to represent a binary tree in an array?</span></li>
<li><span style="font-family: inherit;">Write code to traverse a Binary Tree and output nodes in order.<br /><img height="225" src="https://lh6.googleusercontent.com/sXH3hNt-i0L1MfWpXCMzkECXEX_i9p1YmRovZmoZOB_DpeP6_Lshz8w1YWpO6Ef4vkCZDkTRJtiqqwnGAg2nDqu63jL4kzmVWYKhMQY8OEuRIUIgDBVR8zVFLuBuGuIHaZRUmceN" style="margin-left: 0px; margin-top: 0px; white-space: pre-wrap;" width="300" /></span></li>
<li><span style="font-family: inherit; white-space: pre-wrap;">What is one benefit of using a Set created from a Binary Tree instead of a Hash Table? What are two drawbacks?</span></li>
<li><span style="font-family: inherit;">In a heap, given a value’s index, where can its parent be found?</span></li>
<li><span style="font-family: inherit;">In a heap, given a value’s index, where can its children be found?</span></li>
<li><span style="font-family: inherit;">For the following undirected Graph, if you travel the nodes in order of lowest cost to highest cost, what is the depth first search path from A to G? Explain your steps.<br /><img height="239" src="https://docs.google.com/drawings/d/sPUu8NxM90cxPbPgODwxqYg/image?w=284&h=239&rev=1&ac=1&parent=1RQDIFc2Pzj40wngGsNnr-Vi1Y6qy3xZuTkwHb6BmjWg" style="border: none; white-space: pre-wrap;" width="284" /></span></li>
<li><span style="font-family: inherit;">For the following undirected, unweighted Graph, if you visit neighbors in alphabetical order using a breadth first search, in what order do you visit each node if you travel from A to G? Show your queue. What is the shortest path?<br /><img height="99" src="https://docs.google.com/drawings/d/ss7rsuail7irdz2xV8ng96A/image?w=284&h=99&rev=1&ac=1&parent=1RQDIFc2Pzj40wngGsNnr-Vi1Y6qy3xZuTkwHb6BmjWg" style="border: none; white-space: pre-wrap;" width="284" /></span></li>
<li><span style="white-space: pre-wrap;"><span style="font-family: inherit;">If a directed Graph has 12 nodes and 77 edges, how would you represent it? Why?</span></span></li>
<li><span style="font-family: inherit;">What is one key question we should consider when we are deciding how to model a Graph?</span></li>
<li><span style="font-family: inherit;">Explain the difference between a directed Graph and an undirected Graph, and give an example of each.</span></li>
<li><span style="font-family: inherit;">Assuming a TreeNode with the following methods, implement a put() method for the TreeMap</span></li>
<ul>
<li><span style="font-family: inherit;">[constructor] TreeNode(String key, User value)</span></li>
<li><span style="font-family: inherit;">boolean hasLeft()</span></li>
<li><span style="font-family: inherit;">boolean hasRight()</span></li>
<li><span style="font-family: inherit;">String getKey()</span></li>
<li><span style="font-family: inherit;">TreeNode getLeft()</span></li>
<li><span style="font-family: inherit;">TreeNode getRight()</span></li>
<li><span style="font-family: inherit;">void setLeft(TreeNode node)</span></li>
<li><span style="font-family: inherit;">void setRight(TreeNode node)</span></li>
<li><span style="font-family: inherit;">void set(String key, User value)<br /><img height="120" src="https://lh5.googleusercontent.com/hbIDSs5yUgAgNh1ohUv9D1BmRlENSrp518OJ1Ld2t7g8OrBl2qpxOQWI640_td6ppVYmIZuHsa9e20uOEpod7XRDEJukPXwnDocB6AsXAdJugDWDxbfEGszsmF7ZP2xLMfb4yG89" style="font-size: 11pt; margin-left: 0px; margin-top: 0px; white-space: pre-wrap;" width="391" /></span></li>
</ul>
<li><span style="font-family: inherit;">Implement the add and the remove method for a MinHeap.<br /><img height="149" src="https://lh5.googleusercontent.com/udWGpnrbXky_rdOGeWcOSl3ZYdNvKbu2D2Jn6WJMHBym9UuaBQ22MYvs72FsYy579hyEo0UJK4TEhnGZiyrCsf3g5htNvEkx1Bkph2Fycna8ZTpRscNLl16F0y6gos3KkCt5TAJ4" style="font-size: 11pt; margin-left: 0px; margin-top: 0px; white-space: pre-wrap;" width="384" /></span></li>
<li><span style="font-family: inherit;">Assuming that you have a well implemented Queue and Map, explain the steps involved in finding the shortest path from A to F in the undirected, unweighted graph below.<br /><img height="269" src="https://lh5.googleusercontent.com/24Xn-eWu2aSUj9QgL30YJi7R4iUC0Fx6D0EcwB9ghtvbTGkqg_SZcaZjbOjqJI98aGK1qqWZomLTJuuLgISP2nbJm_SJLauSJcMvXzD3kER48BTX-xko8tjQc9kA5QodO0-uGpGd" style="font-size: 11pt; margin-left: 0px; margin-top: 0px; white-space: pre-wrap;" width="271" /></span></li>
</ol>
<div>
<span style="font-family: inherit;"><br /></span></div>
</div>
<div>
<br /></div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-47603976513501405312018-04-12T08:42:00.000-07:002019-10-17T14:42:47.832-07:00Data Structures: Removing from a Heap and Heapsort<span style="font-family: inherit;">Think about this MaxHeap:</span><br />
<div>
<span id="docs-internal-guid-e628c1c6-7fff-a47d-1c6c-75c74953b8b0"><div align="left" dir="ltr" style="margin-left: 0pt;">
<table style="border-collapse: collapse; border: none;"><colgroup><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col></colgroup><tbody>
<tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">0</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">1</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">2</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">3</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">4</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">5</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">6</span></span></div>
</td></tr>
<tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">23</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">12</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">19</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">7</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">10</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">18</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">14</span></span></div>
</td></tr>
</tbody></table>
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">Remember, children are found with this formula:</span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">Left child: 2i + 1</span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">Right child: 2i + 2</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<div>
<span style="font-family: inherit;">Parents are found with this formula:</span></div>
<div>
<span style="font-family: inherit;">Parent: (i - 1) / 2</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">If we have a maxheap, the children are smaller than the parents. If we have a minheap, the children are larger than the parents. This is a maxheap, so all parents are larger than their children.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">To add to a maxheap, we put the new value at the next available position in the array then swap up. In the file for your assignment, we call this process reheapUp.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">If we add the value 20 to the maxheap above, we get this:</span></div>
</div>
<div>
<span id="docs-internal-guid-645e92a2-7fff-bf87-fb47-57f7884ef664"><div align="left" dir="ltr" style="margin-left: 0pt;">
<table style="border-collapse: collapse; border: none;"><colgroup><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col></colgroup><tbody>
<tr style="height: 22pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">0</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">1</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">2</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">3</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">4</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">5</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">6</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">7</span></span></div>
</td></tr>
<tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">23</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">12</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">19</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">7</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">10</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">18</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">14</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">20</span></span></div>
</td></tr>
</tbody></table>
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">We swap 20 (index 7) with its parent, if the parent is smaller. The parent value is 7 (index 3) so we swap up.</span></div>
<div>
<span id="docs-internal-guid-b3101386-7fff-5fd7-d436-6484e656cd3c"><div align="left" dir="ltr" style="margin-left: 0pt;">
<table style="border-collapse: collapse; border: none;"><colgroup><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col></colgroup><tbody>
<tr style="height: 22pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">0</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">1</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">2</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">3</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">4</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">5</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">6</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">7</span></span></div>
</td></tr>
<tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">23</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">12</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">19</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: #f3f3f3; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">20</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">10</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">18</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">14</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: #f3f3f3; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">7</span></span></div>
</td></tr>
</tbody></table>
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">We swap 20 (index 3) with its parent, if the parent is smaller. The parent value is 12 (index 1) so we swap up.</span></div>
<div>
<span id="docs-internal-guid-1278595e-7fff-95ef-5244-5431f06e539b"><div align="left" dir="ltr" style="margin-left: 0pt;">
<table style="border-collapse: collapse; border: none;"><colgroup><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col></colgroup><tbody>
<tr style="height: 22pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">0</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">1</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">2</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">3</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">4</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">5</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">6</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">7</span></span></div>
</td></tr>
<tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">23</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: #f3f3f3; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">20</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">19</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: #f3f3f3; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">12</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">10</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">18</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">14</span></span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">7</span></span></div>
</td></tr>
</tbody></table>
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">We swap 20 (index 1) with its parent, if the parent is smaller. Here it’s not so we’re done.</span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">To remove from the maxheap, we could just remove the top element and swap elements upward. However, this would leave a gap. In the heap at the top of the page, we’d take off 23 (index 0), put 19 into the empty spot (into index 0 from index 2), then put 18 into the empty spot (into index 2 from index 5). What do we put into index 5? We can’t just move an adjacent value into that spot because it might not result in a valid maxheap.</span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">We’ll prevent this problem by swapping the first & last elements in our maxheap.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<div>
<span style="font-family: inherit;">To remove 23, we swap index 0 and 7. We also decrement “nextPosition” so that while 23 is still in our array, it isn’t part of our maxheap.</span></div>
</div>
<div>
<span id="docs-internal-guid-4dca6975-7fff-036a-b83c-7785759c1e3b"><div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"></span><table style="border-collapse: collapse; border: none;"><colgroup><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col></colgroup><tbody>
<tr style="height: 22pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">0</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">1</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">2</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">3</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">4</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">5</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">6</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">7</span></div>
</td></tr>
<tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">7</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: white; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">20</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">19</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: white; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">12</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">10</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">18</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">14</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">23</span></div>
</td></tr>
</tbody></table>
</div>
</span></div>
</div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">This is not a valid heap (because 7 is smaller than both of its children: 20 and 19), so as long as it’s not valid, we swap the element with the larger of its two children. Here we swap 7 and 20:</span></div>
<div>
<span id="docs-internal-guid-72c67c84-7fff-372b-1716-2c716977affd"><div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"></span><table style="border-collapse: collapse; border: none;"><colgroup><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col></colgroup><tbody>
<tr style="height: 22pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">0</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">1</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">2</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">3</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">4</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">5</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">6</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">7</span></div>
</td></tr>
<tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">20</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: white; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">7</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">19</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: white; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">12</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">10</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">18</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">14</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">23</span></div>
</td></tr>
</tbody></table>
</div>
</span></div>
</div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><div align="left" dir="ltr" style="margin-left: 0pt;">
It’s still not valid (7 < 12 and 7 < 10) so we swap 7 and 12:</div>
<div>
<span id="docs-internal-guid-e451a026-7fff-91a6-2ca8-e367f2479051"><div align="left" dir="ltr" style="margin-left: 0pt;">
<table style="border-collapse: collapse; border: none;"><colgroup><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col></colgroup><tbody>
<tr style="height: 22pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">0</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">1</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">2</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">3</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">4</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">5</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 2.25pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">6</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 2.25pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">7</span></div>
</td></tr>
<tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">20</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: white; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">12</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">19</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: white; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">7</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">10</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">18</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 2.25pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">14</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 2.25pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">23</span></div>
</td></tr>
</tbody></table>
</div>
</span></div>
</span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><div align="left" dir="ltr" style="margin-left: 0pt;">
Now 7 is at index 3; it doesn’t have any children. This process of moving an invalid top value from the top to closer to the bottom is handled in the code in the reheapDown method.</div>
<div>
<br /></div>
</span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><div align="left" dir="ltr" style="margin-left: 0pt;">
Notice now that 23 - the largest thing that was in our maxheap - is now in the last index. If we were to remove 20, we’d swap 20 (index 0) with 14 (index 6), then swap 14 (index 0) with 19 (index 2), then swap 14 (index 2) with 18 (index 5). Our new maxheap would look like this:</div>
<div>
<span id="docs-internal-guid-e2894a44-7fff-f212-fec0-b02777500f84"><div align="left" dir="ltr" style="margin-left: 0pt;">
<table style="border-collapse: collapse; border: none;"><colgroup><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col><col width="48"></col></colgroup><tbody>
<tr style="height: 22pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">0</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">1</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">2</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">3</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">4</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 2.25pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">5</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 2.25pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">6</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;">7</span></div>
</td></tr>
<tr style="height: 0pt;"><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">19</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: white; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">12</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">18</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: white; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">7</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">10</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 2.25pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">14</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 2.25pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">20</span></div>
</td><td style="border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;">23</span></div>
</td></tr>
</tbody></table>
</div>
</span></div>
</span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">Notice now that the end of our array seems to be sorted.</span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;">This is the way the heapsort algorithm works - it’s basically just removing a bunch of things from our maxheap.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<div>
<span style="font-family: inherit;">So, to complete a heapsort, first we create a maxheap from our array:</span></div>
</div>
<div>
<span style="font-family: inherit;"><br /></span><div>
<span style="font-family: inherit;">MaxHeap heap = new MaxHeap(array);</span></div>
</div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<div>
<span style="font-family: inherit;">Then, all we have to do is remove everything from it. The remove() method takes care of all of the sorting and your original array should now be sorted.</span></div>
</div>
<div>
<span style="font-family: inherit;"><br /></span></div>
</div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<span style="font-family: inherit;"><br /></span></div>
<div align="left" dir="ltr" style="margin-left: 0pt;">
<br /></div>
</span></div>
</div>
</span></div>
</div>
</span></div>
</div>
</span></div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com1tag:blogger.com,1999:blog-8853637670522077126.post-63272857153500683632018-04-12T08:39:00.003-07:002019-10-18T07:44:20.866-07:00Data Structures: How to Build an Iterator for a Binary Tree<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
Let’s say we already have a binary tree, and we want to build an Iterator to return the nodes in our tree in order. If we were just listing the nodes, we could follow this recursive algorithm:<br />
<br />
<br />
<ol>
<li>Go to the left child (if it exists)</li>
<li>Output the current node</li>
<li>Go to the right child (if it exists)</li>
</ol>
<div>
<br /></div>
<div>
Consider this tree:<br />
<br /></div>
</div>
<span style="font-family: inherit;"><b style="font-weight: normal;"><img height="425" src="https://lh5.googleusercontent.com/tUW7ZY1Cxp71TSfSiSOyn69LuoC9MTEHVYxeRQjkzGYVsReyzOLuDYY0ZlTIlpfP55EG0iBD4gVd9YNwp1uUIh8Ld3ynaK4bSPX1Vi27w9IiA3zLebscO__c_ejWg7xOoGy_z1-3" style="border: none; font-size: 14.6667px; transform: rotate(0rad); white-space: pre;" width="247" /></b>
</span><br />
<span style="font-family: inherit;"><b style="font-weight: normal;"><br /></b></span>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br />
We would start at the root (M); we’d immediately go to the left (F), then go to the left again (A). There are no more values to go to the left, so we’d output the current node (A). Then we’d go to the right - but there’s nothing to the right of A. So we’d return. This would return us to the previous level of recursion, where we’d output the current node (F). We’d then go to the right (K); the next step would be to go to the left (J), then go to the left again (G). We’d then output G as there’s no further left to go to; there’s nothing to the right, so we’d return to previous level of recursion (J). We’d output J, and so on. Eventually we’d output the values in order:<br />
<br />
A, F, G, J, K, L, M, Z<br />
<br />
However, for an Iterator, we can’t “pause” our recursion so we have to simulate it instead. This means we’ll have to use a Stack to point to identify where we are in the tree.<br />
<br />
We have 4 methods to implement:<br />
<br />
<ol>
<li>addToStack</li>
<ul>
<li>This adds a node to the stack, and then adds its left child to the stack, then adds that node’s left child to the stack, until there are no more left children.</li>
</ul>
<li>Constructor</li>
<ul>
<li>Here we instantiate a stack.</li>
<li>We call addToStack for the root - this adds all direct left descendants to the stack.</li>
</ul>
<li>next</li>
<ul>
<li>We need to pop the stack - let’s call this node result.</li>
<li>We need to add result’s right child and all of result’s right child’s left descendants to the stack.</li>
<li>We return result’s value.</li>
</ul>
<li>hasNext</li>
<ul>
<li>If the stack is empty, we don’t have anything left.</li>
</ul>
</ol>
Consider the following tree again:<br />
<img height="446" src="https://lh5.googleusercontent.com/MTv963cA52TwKmVmlGusInSXvNJwE-2cO6eyINAEMxRyu8x3wkWdW912y6R7VtpdhvWFtn-5sYFw3PoFQTbpeSzv6yJ12HUb712klUjLV9P6VOINnxPMXPVrIpUucRu_MehpP6XE" style="border: none; font-size: 14.6667px; transform: rotate(0rad); white-space: pre;" width="253" /><br />
<br />
If we create a stack, and start with M and all left descendants to the stack, we end up with a stack that looks like this:<br />
<br />
top => A => F => M<br />
<br />
With A on the top of the stack. If we call next() we return A. If we call next() again, we get F as our result, but we add K, J, and G to the stack before returning F. So our new stack looks like this:<br />
<br />
top => G => J => K => M<br />
<br />
We can call next() a few more times and return G and J; when we call next() again, we get K as our result, but we also add L to the stack before returning K. So our new stack looks like this:<br />
<br />
top => L => M<br />
<br />
We call next() and return L, then we call next() again - we get M as our result, but we also add Z to the stack before returning M:<br />
<br />
top => Z<br />
<br />
We call next() one last time to return Z. <br />
<br /></div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-80836517465781389852018-03-04T18:49:00.000-08:002018-03-04T18:49:23.616-08:00Sample Data Structures Exam Questions for Sorting, Hash Functions, and Hash Tables<span style="font-family: inherit;">This is a list of exam questions I've asked on past exams for my data structures class at the University of Pittsburgh.</span><br />
<div>
<ol>
<li><span style="font-family: inherit;">Why is inheritance potentially a problem for a SortedList?</span></li>
<li><span style="font-family: inherit;">Assuming a Set is built with a sorted array as its backing structure, what is the computational complexity of the remove(Object) method? State any assumptions you make and explain your answer.</span></li>
<li><span style="font-family: inherit;">Assuming a Set is built with a sorted array as its backing structure, what is the computational complexity of the contains(Object) method? State any assumptions you make and explain your answer.</span></li>
<li><span style="font-family: inherit;">Explain how the binary search algorithm works. If no code is written, be sure to provide a detailed description. Illustrate with an example.</span></li>
<li><span style="font-family: inherit;">What is one distinct advantage of using an array-backed SortedList over a linked approach?</span></li>
<li><span style="font-family: inherit;">What is one distinct advantage of using a linked approach to a SortedList over an array-backed approach?</span></li>
<li><span style="font-family: inherit;">Show the steps involved in performing an insertion sort on the array [5, 3, 9, 5, 7, 4]. Be sure to show every swap operation.</span></li>
<li><span style="font-family: inherit;">Why is the Iterator an important pattern in software development? Give an example of why iterators are necessary.</span></li>
<li><span id="docs-internal-guid-1e4ca8a6-f3f7-5dfc-41b4-b7700243e76a"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">What are 2 of the criteria for an effective hashcode?</span></span></span></li>
<li><span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Two ways to look up data quickly are searching a sorted array with binary search, and using a hash table. What are the advantages of each? Give one example of a situation where you’d want to use a sorted array with binary search, and give one example of a situation where you’d want to use a hash table.</span></span></span></li>
<li><span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Describe a situation where the computational complexity of a HashMap could approach O(n).</span></span></span></li>
<li><span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: inherit;"><span style="white-space: pre-wrap;">Assume you are building an information system for the 150,000 students graduating in Pennsylvania in 2014. You need to be able to quickly access student records, so you want to build a HashMap for fast retrieval. Assuming the following is the data available, write an effective hashCode method for the Student object. Be sure to state any assumptions you make.
</span><span id="docs-internal-guid-1e4ca8a6-f3f8-d8fd-1e75-04ebdc91e375" style="white-space: pre-wrap;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><img height="257" src="https://lh6.googleusercontent.com/KQdHI6PxotITKPOsh9WUV3wwu_uqF7-Rcmf1s7O3q7BPcVsrofKGag_15SN5qNZWf2AGTyNPVBFL8hxMFbZukPnMs3QhM000Ir2Wtv3-trBUG-dUANRG87xzZbfe7dLVWat3qBk" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="360" /></span></span>
</span></span></span></li>
<li><span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Add the following hash codes to a hash table with an initial capacity of 11, using a linear probing collision resolution strategy: [5, 17, 43, 3, 12, 56, 16, 2, 6, 45].</span></span></span></span></li>
<li><span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Why might you need to use a dictionary / map structure with duplicate keys? Give an example.</span></span></span></span></li>
<li><span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Add the following hashcodes to the table with an initial capacity of 11, using a separate chaining strategy: [5, 17, 43, 3, 12, 56, 16, 2, 6, 45, 57, 11, 10, 1, 0, 9].</span></span></span></span></li>
<li><span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-family: inherit;"><span style="white-space: pre-wrap;">If the following hashcode method is used for a Store object, how might this negatively affect a hashtable used to store and retrieve information about a large retail chain’s department stores? Identify the problems and state any assumptions you make.</span>
<span id="docs-internal-guid-1e4ca8a6-f3fb-f5be-92ed-2ae84cd158a1" style="white-space: pre-wrap;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><img height="165" src="https://lh5.googleusercontent.com/4eGdfm5f4wLYbccLTJ084WdSN8i_gPvL0aJXdczjczQK3-eUl0qveHiOPim55v1gjT3zoH0FTMSwkc68-d4OmHsGB9W04k2zBVH1mhlC3QmjcCc1JHah64w9gLK5ESLQR1sKECY" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="403" /></span></span>
</span></span></span></span></li>
<li><span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">Perform a binary search for the number 303 on the following array. Show the comparison, sub-array, and operations at each step:
[15, 75, 99, 100, 106, 128, 285, 333, 343, 345, 360, 365, 408, 474, 496].</span></span></span></span></span></li>
<li><span><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;"><span style="font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: inherit;">What is a Set? How does a Set differ from a List? Name at least one method that a Set should have that a List might not, and at least one method that a Set cannot have that a List can.</span></span></span></span></span></li>
<li>What are the steps taken when sorting the following array using a merge sort? Show the breakdown of the array and the re-assembly in each step: [2, 3, 6, 5, 1, 7, 8, 9].</li>
<li>Why are the bubble sort and selection sort algorithms rarely used in practice?</li>
<li>Why might a separate chaining collision resolution strategy be more attractive than using a linear probing collision resolution strategy for a hash table-based Map / Dictionary?</li>
<li>In certain situations, insertion sort must do a lot of work to complete something seemingly simple. What is this problem, and how does the shell sort algorithm help to alleviate this?</li>
<li>In a hash table that uses a linear probing collision resolution strategy, removing is not as simple as finding the proper address and removing the item there. Why is this?</li>
<li>What is a priority queue? What does it do?</li>
<li>Implement an add(String) method for a hash table that uses a linear probing collision resolution strategy.</li>
<li>Implement an add(String) method for a hash table that uses a separate chaining collision resolution strategy.</li>
</ol>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-53483384229412461412018-03-04T18:17:00.000-08:002019-10-18T07:45:21.847-07:00Sample Data Structures Exam Questions for Lists, Stacks, and QueuesThis is a list of exam questions I've asked on past exams for my data structures class at the University of Pittsburgh.<br />
<div>
<ol>
<li>What is the computational complexity when iterating over a linked list *without* using an iterator? Why?</li>
<li>Explain how using an iterator improves computational complexity.</li>
<li>What is a circular array?</li>
<li>What are 2 advantages of using a circular array for building a queue, instead of linked nodes?</li>
<li>Using words and a drawing, explain what happens when you insert an item into the middle of a linked list.</li>
<li>Using words and a drawing, explain what happens when you insert an item into the middle of an array list.</li>
<li>Explain the behavior of a queue, including the operations a queue should be able to perform.</li>
<li>In a queue implemented using a circular array, why do we need to know more than just the start and end positions to know if the queue is full?</li>
<li>Explain why removing the first item in an array list is more work than removing the first item from a linked list.</li>
<li>What are all of the things you would you have to do to improve the computational complexity of the size() method?</li>
<li>In your own words, explain the relationship between encapsulation and abstraction.</li>
<li>In the context of data structures, why is abstraction important?</li>
<li>How could abstraction be dangerous? Give an example.</li>
<li>What is the purpose of leaving one index empty in an array-backed implementation of a Queue? Why is this necessary?</li>
<li>Using pictures, illustrate the steps that occur when an item is removed from a linked-node based queue.</li>
<li>Using pictures, illustrate the steps that occur an item is added to a linked-node based queue.</li>
<li>Using pictures, illustrate the steps that occur when an item is removed from an array based queue.</li>
<li>Using pictures, illustrate the steps that occur an item is added to an array based queue.</li>
<li>For the add(T), remove(int), and get(int) operations, what is the difference between a LinkedList and an ArrayList implementation? What must be done for each?</li>
<li>Describe one situation where an ArrayList would be preferable and one situation where a LinkedList would be preferable.</li>
<li>Explain some of the tradeoffs in using array-backed data structures. When are array-based structures valuable? Why do we need linked structures?</li>
<li>Explain why using a "tail" property in our Linked List makes it more efficient.</li>
<li>Describe two situations where you might need to use a List; one where a Linked List would be preferred, and one where an Array List would be preferred.</li>
<li>What is the computational complexity of the operation add(T) in our array-based queue implementation? Why?</li>
<li>Name the 3 operations that a Stack should be able to perform, and explain what they do. What is the computational complexity of each of these operations?</li>
<li>Why isn’t iterating through a Linked List (using a traditional while loop or for loop) an efficient operation?</li>
<li>Why is encapsulation important when designing data structures? Name a problem that could occur if your data structure is not properly encapsulated.</li>
<li>Describe, using words and drawings, how a remove(int) operation occurs in a Linked List.</li>
<li>Describe, using words and drawings, how a remove(int) operation occurs in an Array List.</li>
<li>Why is encapsulation important when designing data structures? Using one of the data structures we discussed in class, identify a specific problem that could occur if your data structure is not properly encapsulated.</li>
<li>Write code for a public int pop() method for the following IntStack class.<br /><img height="640" src="https://lh3.googleusercontent.com/x7q5AG1i4-OL7ASu3EiAG-h5rgrpCkAO-bMJoKoE6TbsZ5JouWk5bEZcr1fKAPaA678XlsjhnLYB0yEmS6IEEnh8li8gDnP1gF1fQVc-_s3TJekO7UnbvBVX7ia-Sh4orx_lYYtb" style="border: none; font-family: Arial; font-size: 11pt; transform: rotate(0rad); white-space: pre-wrap;" width="410" /></li>
<li>Assuming you have the following code in your class, how would you implement the “public void push(Object value)” and “public Object pop()” methods for a stack?<br /><img height="400" src="https://lh6.googleusercontent.com/yeINzMM5q0BztnnVcY0U4JZx15xe-_fyscvVKAZp7baR1Mme4dDR_uJZ7eDHQwV1RGW7ZcWHelq6yOCMzcS_eacP0joHnwwzXgC0sULB8m7lqmRQfI7qU15eAuC3j0FBOifE46na" style="border: none; font-family: Arial; font-size: 11pt; transform: rotate(0rad); white-space: pre-wrap;" width="375" /></li>
<li>Given the following code, implement an Iterator with the methods public T next() and public boolean hasNext() for this Linked List.<br /><img height="196" src="https://lh4.googleusercontent.com/z70aiwnlHnFU8Q74jPwyxzUmT122sT4JP1ch7IFm0J0B7ILips3HnbSOx4mnTt4OO8JHxx-E4y3Ye6VtqAafd6Cb5oJxe3ncuwmHaFSmufsR4xE-CSxM4V74kDEvI_gx_BkQ7Ue1" style="border: none; font-family: Arial; font-size: 11pt; transform: rotate(0rad); white-space: pre-wrap;" width="534" /></li>
<li>Implement the following ensureCapacity method for a Queue implemented with a circular array. This method should ensure that there is room in the values array.<br /><img height="175" src="https://lh5.googleusercontent.com/HrEXE97_fok3ge78sTDoGWv6fl8DDyACVY0L2dHIbS-pTshd3SttdTltoFPGc375ZnnyFVEPzECFe-fon2CPMYMO6UMcEXVojGDq6xOj758RTmqgXOjWVswIvKoghI55fj5o60n0" style="border: none; font-family: Arial; font-size: 11pt; transform: rotate(0rad); white-space: pre-wrap;" width="488" /></li>
</ol>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-3005621447477183302017-11-03T11:48:00.002-07:002017-11-03T11:50:47.172-07:00The Gobbler from Arby'sStop. Stop what you're doing and go to Arby's. Right. Now. Have them make you a <a href="https://arbys.com/our-menu/turkey/deep-fried-turkey-gobbler">Gobbler</a>. This is not something you'll regret.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIhVP_QkxsKsaGySgZm-U64Nf7uUi-1Uo_u5CL1R3VoR1zxK0zxL2RQBjyStWDAj4G7nYetfJacs3iupNl-pzYmWeVwHfwRmDxhT8mu2vRzOMn41YS3-_gnl4Z9OWN5eUEjQMki-IGXYQu/s1600/Screen+Shot+2017-11-03+at+1.49.54+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1356" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIhVP_QkxsKsaGySgZm-U64Nf7uUi-1Uo_u5CL1R3VoR1zxK0zxL2RQBjyStWDAj4G7nYetfJacs3iupNl-pzYmWeVwHfwRmDxhT8mu2vRzOMn41YS3-_gnl4Z9OWN5eUEjQMki-IGXYQu/s320/Screen+Shot+2017-11-03+at+1.49.54+PM.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i>Go. Eat this thing. Look at that bacon. Go.</i></div>
<br />
<br />
Arby's has a new sandwich. It's called "The Gobbler" and as far as I can tell it's two things: a vehicle for their new deep fried turkey, and an attempt at a Thanksgiving themed sandwich. It's also a third thing: magically delicious.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTsYp_8ea1VFhhgG1FgmqYln7Nsjpdjnk3o_UinMY-_mZZQY1XZJYizNmsZEB2qUtS5djUumZV4Thy7Eoum1PiZes5H-BPQOrV1ih2OcmqL9uiIvXvnE84pLwMCJlcjy2HQj8Q7JtbPZ9_/s1600/maxresdefault.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTsYp_8ea1VFhhgG1FgmqYln7Nsjpdjnk3o_UinMY-_mZZQY1XZJYizNmsZEB2qUtS5djUumZV4Thy7Eoum1PiZes5H-BPQOrV1ih2OcmqL9uiIvXvnE84pLwMCJlcjy2HQj8Q7JtbPZ9_/s320/maxresdefault.jpg" width="320" /></a></div>
<div style="text-align: center;">
<i>move over Lucky, there's a new holiday mascot on the block</i></div>
<div style="text-align: center;">
<i><br /></i></div>
<br />
Unwrapping: this actually looks like a sandwich. It looks appetizing. It looks like something I want to eat. It doesn't look like the promo photo above, but it doesn't look like someone was flailing around and accidentally smashed up a sandwich, either.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirAjs5-DDZuwRU0hN2tnLhkEeHNpCVgh3ftWcxLx_3xiEhH8SPrH1w6Ghx07AY1mT5YoCr151oVuleknyJmc_I-Wi7ch5zFsrURV-rSNW-j-yVBwm3jf7RJVarI5ryFX1awHtNEmZAt1RE/s1600/MVIMG_20171103_133046.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirAjs5-DDZuwRU0hN2tnLhkEeHNpCVgh3ftWcxLx_3xiEhH8SPrH1w6Ghx07AY1mT5YoCr151oVuleknyJmc_I-Wi7ch5zFsrURV-rSNW-j-yVBwm3jf7RJVarI5ryFX1awHtNEmZAt1RE/s320/MVIMG_20171103_133046.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i>sexy Instagram caption goes here</i></div>
<div class="separator" style="clear: both; text-align: center;">
<i><br /></i></div>
<div class="separator" style="clear: both; text-align: center;">
<i><br /></i></div>
First bite: Wow. I mean, "WOW." Holy h*ck this is good. The turkey has a really bold, meaty flavor. It tastes a lot like turkey sliced fresh from your choice Thanksgiving bird. Tastes great, nice texture. There's also some bacon & cheese here to complete the package.<br />
<br />
What even is fast food anymore? This definitely doesn't suck.<br />
<br />
I really like that they didn't try to replicate a full Thanksgiving dinner on a sandwich - I've had those attempts before and they're mostly calamitous. There's no gravy here. No awful attempt at "stuffing bread" or whatever the h*ck you get when you try to make bread out of something that has bread as its main ingredient. It's a turkey sandwich, done properly. Good job, Arby's.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://s-media-cache-ak0.pinimg.com/originals/d1/6c/ce/d16cce6f0b3a8ca80d7cf4dc35349a93.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="555" data-original-width="800" height="221" src="https://s-media-cache-ak0.pinimg.com/originals/d1/6c/ce/d16cce6f0b3a8ca80d7cf4dc35349a93.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i>wait I shouldn't post this weird thing</i></div>
<br />
<br />
Halfway through: The mustard is perfect, it's got a nice sharpness that's not too overpowering but is a great balance for the turkey and the sweeter cranberry spread on the other side. There is one lettuce leaf on this sandwich for some reason. It's like, "Hey, there are vegetables here! Trust us!" I almost thought it was a salad for a minute. It's delicious AND it keeps you guessing.<br />
<br />
The bread itself... it's real bread. It tastes wholesome. Yes, I just described something at Arby's as wholesome. Don't laugh.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtbUYyfyjRaoOpaQe437i7rtUQtT5Cd-Qw03xnh2kHWxPI_uJhQcWPdMo92jg8BkSbs91g4Nii2iNL12HOTkCeZ2xFNHBbsfe-rIsl6QKr_O6QyZlTxiuFLkB_4lKsDjZUzhT8aYX8TrRB/s1600/MVIMG_20171103_133508.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtbUYyfyjRaoOpaQe437i7rtUQtT5Cd-Qw03xnh2kHWxPI_uJhQcWPdMo92jg8BkSbs91g4Nii2iNL12HOTkCeZ2xFNHBbsfe-rIsl6QKr_O6QyZlTxiuFLkB_4lKsDjZUzhT8aYX8TrRB/s320/MVIMG_20171103_133508.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i>#nofilter</i></div>
<br />
<br />
I have only two, very, very tiny minuscule criticisms. 1 - I don't like tomatoes and they're on this sandwich. 2 - the bread is just the slightest bit dry. This sandwich is so awesome I feel bad even saying that. I'm sorry, sandwich.<br />
<br />
Why are you still here? Go get one of these now. What are you doing with your life?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJnbLqIHvHhhwNo55MRDNGNGgZbLy_5erwBlDLrYUW3UIkKHP9DgebvGsDz4-TWe4vPz1GS5TEj0v28uPF7yQrR0mkjrwR8-GSBOiXVZ6s8CwVggvZOrGQphs5mxb9J9MvejVD4sQNoki5/s1600/MVIMG_20171103_133619-01.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1199" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJnbLqIHvHhhwNo55MRDNGNGgZbLy_5erwBlDLrYUW3UIkKHP9DgebvGsDz4-TWe4vPz1GS5TEj0v28uPF7yQrR0mkjrwR8-GSBOiXVZ6s8CwVggvZOrGQphs5mxb9J9MvejVD4sQNoki5/s320/MVIMG_20171103_133619-01.jpeg" width="239" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i><b>EAT IT</b></i></div>
<br />
<br />geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com1tag:blogger.com,1999:blog-8853637670522077126.post-41404302940742703082017-08-14T11:07:00.001-07:002017-08-14T11:07:30.736-07:00GetGo Something Cheesesteak or WhateverGetGo has a new sandwich. It's called the Something Cheesesteak or whatever. I don't know. Here's a picture.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0GY31XyIZfL-iQW94iueY5lGjKl2PzBEW1WsioIl1DemTFcIMjW5Xu1_kwobRrnYSY3LM7q_FNz8LnjIvi4BmNM-OO6sqoFZ8BhiBQjEkdpFfZaaPiu-05sGjHEAI3Y7bzoPzcyQuY8W0/s1600/IMG_20170814_115951.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0GY31XyIZfL-iQW94iueY5lGjKl2PzBEW1WsioIl1DemTFcIMjW5Xu1_kwobRrnYSY3LM7q_FNz8LnjIvi4BmNM-OO6sqoFZ8BhiBQjEkdpFfZaaPiu-05sGjHEAI3Y7bzoPzcyQuY8W0/s320/IMG_20170814_115951.jpg" width="240" /></a></div>
<br />
I went to my local GetGo gas station and ordered a sandwich from a computer, like normal human beings do in 2017.<br />
<br />
It's offered in 14", 7", and 3.5" varieties. I was glad to see the 3.5" option. Because I was afraid. Afraid of the sandwich. Afraid of what this experiment might force me to become.<br />
<br />
After ordering I brought it home and unwrapped it and... it actually doesn't look *that* far off from the marketing pictures for once. Weird.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsqSzGrR6vWLNCERJjAwxCzZmKuqvo6GvRh-5y4AjfA_lym2nPsnuXbHLjpDO9I2bmTI9zfThBSmb9N2GOKjYYc18DQtcL9SPhDqwUPiVBE7Yc1CfRx517WfvLbUZYpLFTN_Uf7UsX1e6y/s1600/P1000686.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsqSzGrR6vWLNCERJjAwxCzZmKuqvo6GvRh-5y4AjfA_lym2nPsnuXbHLjpDO9I2bmTI9zfThBSmb9N2GOKjYYc18DQtcL9SPhDqwUPiVBE7Yc1CfRx517WfvLbUZYpLFTN_Uf7UsX1e6y/s320/P1000686.JPG" width="320" /></a></div>
<br />
Here's the cross-section:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvqvPh9hJqBowNhki09gckNqqWZYoa6BidyXi18qDtf8w8Ox4eWowKXUaqzcj_V8LpQaHmQJpm0XMdry8mQi0iwO9VKuyZb6Zwu6s_pXvEWCKzJz_ZnxHJO1_YVF2PdXurz4f3fXem8oO/s1600/P1000688.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYvqvPh9hJqBowNhki09gckNqqWZYoa6BidyXi18qDtf8w8Ox4eWowKXUaqzcj_V8LpQaHmQJpm0XMdry8mQi0iwO9VKuyZb6Zwu6s_pXvEWCKzJz_ZnxHJO1_YVF2PdXurz4f3fXem8oO/s320/P1000688.JPG" width="320" /></a></div>
<br />
It smells pretty good and doesn't look too bad. OK, I'm ready to eat this, let's jump in.<br />
<br />
First bite impressions: It's kind of like a too chewy meatball sub. It's not entirely unpleasant and it's a familiar set of flavors. The steak they put on this sandwich isn't a thinly chopped high grade meat; it's more like a round steak cut in chunks than a finely sliced steak. It's harder than it should be to chew it.<br />
<br />
Whoa. There's the fried ravioli. The raw, unvarnished fried flavor of the fried ravioli was unexpected. It really comes through at the end of the first bite. It's a weird flavor. Many of the fried things GetGo puts on sandwiches are just over the top but not delicious. I'm not sure I like it. Without it, this sandwich is just an Italian cheeseteak though, not that this would be a bad thing.<br />
<br />
The sauce isn't bad but it could use a bit more zing. It's sort of on the bland side when it comes to spices. Every few bites I get something with a tiny bit of spice but it's not uniform; whatever it is, it's better and it's what the sauce needs.<br />
<br />
The steak... it's bad. I'm guessing this is the cut of beef they put in the dog food that contains "real beef flavor" - the more of it I have the less I want. It would actually be better with Italian sausage instead; honestly sausage would probably be a higher grade of meat, too.<br />
<br />
On to the second half. Here's a slightly more close shot to show the detail:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPTVzpnkvf8dVIXtds7Ion1LUjVfbsVLMvxU9tilY0-xPtam8w0DZPL0vEJKyrPpn2Yl8iZ5xSp2R4Q6Or7EFBaMgDjHi9fDue75XcVjQRkOv-MJ2ZERZgHlm6RklWYlJzA4k1Uf40VeFx/s1600/P1000689.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPTVzpnkvf8dVIXtds7Ion1LUjVfbsVLMvxU9tilY0-xPtam8w0DZPL0vEJKyrPpn2Yl8iZ5xSp2R4Q6Or7EFBaMgDjHi9fDue75XcVjQRkOv-MJ2ZERZgHlm6RklWYlJzA4k1Uf40VeFx/s320/P1000689.JPG" width="320" /></a></div>
<br />
The second half is a bit better but not by much. The texture of the meat is really distracting. You shouldn't have to work this hard to eat a gas station sandwich. It's stringy and fatty and really not appetizing.<br />
<br />
The random distribution of ingredients is more favorable to the fried ravioli on the second side. You can't have pure unfiltered fried ravioli, there need to be accompaniments. This side has a bit more sauce and cheese and it's better for it.<br />
<br />
The cheese that's on it is really mild. It's hard to taste it but it provides a nice melted blanket over everything.<br />
<br />
I did finish the sandwich and it's definitely not the worst GetGo sub I've ever had. Aside from the weird maybe-not-human-grade-beef texture it's not bad, but with the "steak" they use I can't honestly recommend you eat one.geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-74662898430984615662017-08-13T18:51:00.003-07:002017-08-13T19:13:48.009-07:00Resume Advice from Fast CompanyHere's a pretty good article with resume advice from Fast Company: <a href="https://www.fastcompany.com/40424630/this-is-the-part-of-your-resume-that-recruiters-look-at-first">https://www.fastcompany.com/40424630/this-is-the-part-of-your-resume-that-recruiters-look-at-first</a><br />
<br />
This is another good article on keeping your LinkedIn profile up to date: <a href="https://www.fastcompany.com/40426311/recruiters-explain-what-the-worst-linkedin-profiles-have-in-common">https://www.fastcompany.com/40426311/recruiters-explain-what-the-worst-linkedin-profiles-have-in-common</a>geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-74765331748114689882016-07-14T18:27:00.000-07:002016-07-14T18:27:12.522-07:00Sheetz Sandwich Standoff: El Gringo vs Twisted SwissMy wife left me alone for dinner tonight so I decided to check out the latest GetGo offerings... but to my great chagrin, they have no promotional subs.<br />
<br />
My travels led me to the local Sheetz, where I'd be able to keep eating the best gas station sandwiches around.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx6GbpaVdYVLw4vBLa_Ca4QCgGesJtIkrh8NK_uIINFwaWuK-DlPoaUHb31GaIDM3zwK8YBdztYRkQpRrrUnRZ-QYeseBcC_bUjw2BsBGttod5-91h3ca0izKc8bS0dHDJX5grfQ_EVLjd/s1600/IMG_20160714_185358.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx6GbpaVdYVLw4vBLa_Ca4QCgGesJtIkrh8NK_uIINFwaWuK-DlPoaUHb31GaIDM3zwK8YBdztYRkQpRrrUnRZ-QYeseBcC_bUjw2BsBGttod5-91h3ca0izKc8bS0dHDJX5grfQ_EVLjd/s320/IMG_20160714_185358.jpg" width="296" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
To keep tradition alive, I picked the two most outrageous "Burgerz" on the menu: El Gringo and Twisted Swiss.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The ingredient list is promising:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjS51RnJU7a-UacijJXFqAhq3JM0wVMV8YYJoBGGFiT27c5Ys4zM_8DXZGY-Ly3Iwt7rp2obIx97QR3sRP9lPZyGnkQV3gEIxY-HhFBnsewpZ5xQfGh-RgWVts8hdsC0Uv8IuzcSW-poqyc/s1600/IMG_20160714_185538.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjS51RnJU7a-UacijJXFqAhq3JM0wVMV8YYJoBGGFiT27c5Ys4zM_8DXZGY-Ly3Iwt7rp2obIx97QR3sRP9lPZyGnkQV3gEIxY-HhFBnsewpZ5xQfGh-RgWVts8hdsC0Uv8IuzcSW-poqyc/s320/IMG_20160714_185538.jpg" width="189" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Twisted Swiss is the burger with topped with swiss cheese, cole slaw, pickles, bacon, and whatever "Boom Boom Sauce" is on a pretzel bun. El Gringo is the burger topped with pepper jack cheese, chili, Doritos, and BBQ sauce on a regular old bun.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I unwrapped them both and stood back to admire the majesty before me.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgj5zG25C4jkdrfa975cKhf4gGRWua1tWldIil61FbjGl9o6yUJXwy7cIse6qmN5JQqjFU9Rt9TLgBit931RTIIDqcMJaAlU-y0wRWqup7Eignxk3SmDQF0b07Tv3IubYzYO3o2zho95yL/s1600/burgerz1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgj5zG25C4jkdrfa975cKhf4gGRWua1tWldIil61FbjGl9o6yUJXwy7cIse6qmN5JQqjFU9Rt9TLgBit931RTIIDqcMJaAlU-y0wRWqup7Eignxk3SmDQF0b07Tv3IubYzYO3o2zho95yL/s320/burgerz1.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
They're not pretty, but they do look a lot better out of the wrapper than many fast food burgers I've eaten.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<b>Twisted Swiss</b><br />
I expected this sandwich to be an awful mess. It just seemed like a bunch of stuff thrown together. I prepared myself for the worst and dived in.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo-7nJGjBe-4YH9BaMazBn1rV4WK_Azxny4Tw2UoXLVGEO-aoSFfGZqF7GKD8O2O1W1FS2mT9UZP17TQ3mWMFK9V3lG3P9E_DaKS-faDKgFsKoqPgdgMV00uRLY7ust1a-GMPxlXF4Yljd/s1600/burgerz2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo-7nJGjBe-4YH9BaMazBn1rV4WK_Azxny4Tw2UoXLVGEO-aoSFfGZqF7GKD8O2O1W1FS2mT9UZP17TQ3mWMFK9V3lG3P9E_DaKS-faDKgFsKoqPgdgMV00uRLY7ust1a-GMPxlXF4Yljd/s320/burgerz2.jpg" width="320" /></a></div>
<br />
<br />
First impression: it's shockingly... good. The flavors are in balance. It's a little salty, a little sweet, some sourness, just a touch of umami. The coleslaw is everywhere, though. It's a mess. This is one of those sandwiches that you need to take a shower after eating.<br />
<br />
The burger patty is weird. It reminds me of the ones from the high school cafeteria; kind of thin, not much flavor, and the texture is like they've been sitting in a tray of warm water for an hour. It's safe to say that the light from a grill has never shined on this burger. I'm assuming they're made in a microwave, so I appreciate that it doesn't have that chewy, reheated-in-the-microwave texture, but still... it's far from the pinnacle of culinary might.<br />
<br />
Regardless, it's a weirdly good combination of flavors. It's better than anything I've had at McDonald's.<br />
<br />
<br />
<b>The Gringo</b><br />
This sandwich has to be designed by the kid in 4th grade that dips his french fries in chocolate milk. If the first time this sandwich was served there was a volcano and earthquake because its presence angered the Gods, I wouldn't be surprised. I was intimidated, but I picked it up, closed my eyes, and took a bite.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdEKVllqZr6mXlEmtICxQGHS8B0XgPpz2-TF9zDYgTJNnkSfDUexPZPYwmUo470i5NbWaBScRXMqXZ2_X_vYgTBLyi8kGqRsPjL2lC4ULqmJMr3YRJeTwfvGf1eh1CHN7nv8zNyVPx2aSk/s1600/burgerz3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdEKVllqZr6mXlEmtICxQGHS8B0XgPpz2-TF9zDYgTJNnkSfDUexPZPYwmUo470i5NbWaBScRXMqXZ2_X_vYgTBLyi8kGqRsPjL2lC4ULqmJMr3YRJeTwfvGf1eh1CHN7nv8zNyVPx2aSk/s320/burgerz3.jpg" width="320" /></a></div>
<br />
<br />
It's not good. This is not something I want to eat. There's no flavor balance. It's just salt. Salt and Doritos. It turns out that the Primanti's approach to sandwiches and fries doesn't work with burgers and Doritos. It's like somebody emptied their lunch into a bowl, mashed it all together, and put it back in a sandwich. The texture of the burger is so close to the bun that it's just like eating a Dorito sandwich. With barbecue sauce. <br />
<br />
There's chili in there but I don't know why. You could never tell, there's no trace of it in the flavor. The chili represents the lies we tell ourselves that we never believe, but for some reason keep repeating. This burger is nihilism in sandwich form. It values no relationships, it can only destroy.<br />
<br />
I threw the second half away. Nobody should ever be subjected to this.<br />
<br />
I went back to the weird coleslaw pretzel burger. By this point it had cooled down, and the loss of heat was not kind to this one. It's not nearly as good lukewarm as it was at first. Still, a bad Twisted Swiss is better than the best El Gringo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi7aD-DyFt8fTCAylCn9ldYaNX_YzpXw4o8JGIx3gK_D3d30lUCkgBEIBGuPhLBE597-Hsa_zQYJhD1QBhTuxkU7RV9463jaAhLfFrq2UsVwRI987tDwSWObw487DLsO667NVlMXozJoHv/s1600/burgerz4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi7aD-DyFt8fTCAylCn9ldYaNX_YzpXw4o8JGIx3gK_D3d30lUCkgBEIBGuPhLBE597-Hsa_zQYJhD1QBhTuxkU7RV9463jaAhLfFrq2UsVwRI987tDwSWObw487DLsO667NVlMXozJoHv/s320/burgerz4.jpg" width="320" /></a></div>
<br />
<br />
I'm not happy I did this.geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com1tag:blogger.com,1999:blog-8853637670522077126.post-73400215015268019292016-06-07T09:34:00.000-07:002016-06-07T09:39:05.025-07:00Coding with Chrome's JavaScript API<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="http://gr1.me/cwc">Coding with Chrome</a> is a new Google application that's built to help people learn how to code. It supports Blockly, CoffeeScript, Pencil Code, and JavaScript. It's free to download and works right your the Chrome browser.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br />I've been working on some <a href="https://www.youtube.com/channel/UClQAtgHuxvILajM9yQnfwYw">educational material</a> for the new application. One of the things I really like about it is that it provides a really simple drawing API so you can easily code shapes and drawings instead of starting off with the command line. Since the application gives you an immediate response, you're able to experiment and see how changing your code affects the picture on the screen.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Here's what I've learned about the basic drawing API. You can <a href="https://drive.google.com/file/d/0B0BlAMnogAnKNzZMMjVyWVhLMlU/view?usp=sharing">download this file</a> and try experimenting with the code yourself.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">/*</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * draw.clear() clears the screen.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> */</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.clear();</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">/*</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * draw.point(x, y, color, size) draws the specified point on the screen in the</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * specified color.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> *</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The X-coordinate for the point.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The Y-coordinate for the point.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The color for the point. Can be specified as a named color</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * or as a hexadecimal color code.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The size of the point (extends downward and to the right).</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> */</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.point(2, 2, 'purple', 10);</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">/*</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * draw.rectangle(x, y, width, height, fillcolor, strokecolor, stroke) draws a</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * rectangle on the screen. The (x, y) coordinate specifies the top-left corner</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * of the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> *</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The X-coordinate for the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The Y-coordinate for the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The width of the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The height of the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The fill color of the rectangle. Can be specified as a named</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * color or as a hexadecimal color code.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The stroke color of the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The width of the stroke line.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> */</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.rectangle(20, 200, 200, 300, 'red', 'green', 5);;</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.rectangle(100, 400, 40, 100, 'gray', 'black', 1);</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">/*</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * draw.triangle(x1, y1, x2, y2, x3, y3, fillcolor, strokecolor, stroke) draws</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * a triangle connecting the three points specified.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> *</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The first X-coordinate for the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The first Y-coordinate for the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The second X-coordinate for the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The second Y-coordinate for the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The third X-coordinate for the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The third Y-coordinate for the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The width of the triangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The height of the triangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The fill color of the triangle. Can be specified as a named</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * color or as a hexadecimal color code.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The stroke color of the rectangle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The width of the stroke line.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> */</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.triangle(20, 200, 220, 200, 120, 20, 'blue', 'green', 5);</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">/*</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * draw.ellipse(x, y, width, height, fillcolor, strokecolor, stroke) draws a</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * ellipse on the screen, with the (x, y) coordinate at the top-left corner of a</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * a hypothetical rectangle that encloses the ellipse.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> *</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The X-coordinate for the ellipse.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The Y-coordinate for the ellipse.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The width of the ellipse.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The height of the ellipse.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The fill color of the ellipse. Can be specified as a named</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * color or as a hexadecimal color code.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The stroke color of the ellipse.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The width of the stroke line.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> */</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.ellipse(70, 260, 40, 60, 'cyan', 'white', 2);</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.ellipse(170, 260, 40, 60, 'cyan', 'white', 2);</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">/*</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * draw.circle(x, y, radius, fillcolor, strokecolor, stroke) draws a</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * circle on the screen, with the (x, y) coordinate at the center of the circle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> *</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The X-coordinate for the circle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The Y-coordinate for the circle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The radius of the circle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The fill color of the circle. Can be specified as a named</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * color or as a hexadecimal color code.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The stroke color of the circle.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The width of the stroke line.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> */</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.circle(132, 450, 5, 'white', 'black', 1);</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">/*</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * draw.line(x1, y1, x2, y2, strokecolor, stroke) draws a line connecting the</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * two specified points.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> *</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The first X-coordinate for the line.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The first Y-coordinate for the line.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The second X-coordinate for the line.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The second Y-coordinate for the line.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The stroke color of the line. Can be specified as a named</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * color or as a hexadecimal color code.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The width of the stroke line.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> */</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.line(100, 500, 80, 700, 'black', 1);</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.line(140, 500, 160, 700, 'black', 1);</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">/*</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * draw.text(text, x, y, color, drawSmall, drawOutline) draws text on the screen</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * at the specified point. The point marks the bottom-left corner of the text </span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * to be drawn.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> *</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The text to be drawn on the screen.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The X-coordinate for the text.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {number} The Y-coordinate for the text.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {string} The color of the text. Can be specified as a named</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * color or as a hexadecimal color code.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {boolean} If true, draw smaller text.</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> * @param {boolean} If true, draw only an outline of the text (no fill).</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> */</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">draw.text('HOUSE', 300, 200, 'black', false, true);</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span>
<br />
<div style="text-align: center;">
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-73951305231166892412016-06-01T13:53:00.000-07:002016-06-01T13:59:07.417-07:00Final Exam, Question 16: Star Boars<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">This has become a routine now: I don't give extra credit but on final exams I usually include a gimme question that involves something absurd. I've done it a few times before (<a href="http://geekitarian.blogspot.com/2014/04/final-exam-question-11.html">pigs in hats</a> / <a href="http://geekitarian.blogspot.com/2015/05/final-exam-question-13.html">hippos thinking about tacos</a> / <a href="http://geekitarian.blogspot.com/2015/01/final-exam-question-11-again.html">happy rabbits</a>). For my web development class's final exam, question 16 was: "Illustrate what a warthog would look like if it were piloting a spaceship. Title your drawing Star Boars." These are the finest submissions.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">I tried to time this one with the release of the new Star Wars movie but I'm not so good at getting this kind of thing done so you get it 5 months late.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<i><span style="font-family: "arial" , "helvetica" , sans-serif;">Disclaimer: the dark side would have won if they had more porcine TIE Fighter pilots.</span></i></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">As usual, click the small images to see the bigger images.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyXtYxScvPxoO1BIkF6Qw5dBVLdBwWUAXXLFwFrEebqhSfXdinWA4-cGpF8pbcVMDyHROGgqfqR-ko6xFNvWU6Lv1OgzxNtfSz4jzZ2HlMCxnu0SxT07nXq7U-d1CUs7N0mYZ3vZWJZ8Jx/s1600/IMG_20160507_162354.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyXtYxScvPxoO1BIkF6Qw5dBVLdBwWUAXXLFwFrEebqhSfXdinWA4-cGpF8pbcVMDyHROGgqfqR-ko6xFNvWU6Lv1OgzxNtfSz4jzZ2HlMCxnu0SxT07nXq7U-d1CUs7N0mYZ3vZWJZ8Jx/s320/IMG_20160507_162354.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">Even after sustaining significant damage, this pig perseveres. Star Boars are dedicated.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxrQjPFPpgu3cJZJSoVi-noAMwvGSg2PBAzk1JdgGDyADhazvRMUgJAta-8rQxSxLcI_vRfwC_XIMbD2is-SF-65wc9iUZDICExkMdAxvwPp4hKIH_pLxGmQojuM0ry83yW0zTaTUzMwNd/s1600/IMG_20160507_162337.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxrQjPFPpgu3cJZJSoVi-noAMwvGSg2PBAzk1JdgGDyADhazvRMUgJAta-8rQxSxLcI_vRfwC_XIMbD2is-SF-65wc9iUZDICExkMdAxvwPp4hKIH_pLxGmQojuM0ry83yW0zTaTUzMwNd/s320/IMG_20160507_162337.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">Not sure if this is a pig or a normal guy with a big mustache. Also the Pig Box was way better than the Pig Box 360.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-G_HF0lHiuyoP2Z1sB2P3WGp9IqADk8ETfCgYeFfYjhzntdvMOnUBGSG58a0YWtOE7I0wDspT9623q4E0yp4tEIeW4q_xyJA-zEqHEI5CQEnfGCF1sA1EtkU2ko2WsUdV0YHwbdl3BqEy/s1600/IMG_20160507_162329.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-G_HF0lHiuyoP2Z1sB2P3WGp9IqADk8ETfCgYeFfYjhzntdvMOnUBGSG58a0YWtOE7I0wDspT9623q4E0yp4tEIeW4q_xyJA-zEqHEI5CQEnfGCF1sA1EtkU2ko2WsUdV0YHwbdl3BqEy/s320/IMG_20160507_162329.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">This one looks angry and can swing a lightsaber while piloting the spaceship. I don't think I've seen any other characters do that.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ZvX2mjbxksCrPLrY9z5bq3XYm7FklqcNZ7J8DmOYDxrtaZf0luE0WZ8X7_EFuCsD3TTJum-mPAlcB6zyT0NHTloshdBGRPrNqTzw7uDnc29R6lye5WhJhDH0gjSRSTYefYmNyMwhnjwA/s1600/IMG_20160507_162321.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ZvX2mjbxksCrPLrY9z5bq3XYm7FklqcNZ7J8DmOYDxrtaZf0luE0WZ8X7_EFuCsD3TTJum-mPAlcB6zyT0NHTloshdBGRPrNqTzw7uDnc29R6lye5WhJhDH0gjSRSTYefYmNyMwhnjwA/s320/IMG_20160507_162321.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><b><i>SPACE</i></b> BOARS C'MON PEOPLE</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-eSnacSy76sa6DrXsPyzEDJ7lBB-SlhS_e9Rfu9XyGQqPG146kjnev7WUh6Xnh4alMoDhQgnR1vzupKP8NXpvieFHInBdYaCx_YLoAZa7cBKIAPbK77IGfNaMjTiOvVrQ9FXa_ptoxQXD/s1600/IMG_20160507_162306.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-eSnacSy76sa6DrXsPyzEDJ7lBB-SlhS_e9Rfu9XyGQqPG146kjnev7WUh6Xnh4alMoDhQgnR1vzupKP8NXpvieFHInBdYaCx_YLoAZa7cBKIAPbK77IGfNaMjTiOvVrQ9FXa_ptoxQXD/s320/IMG_20160507_162306.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">See, this pig is more sophisticated than 90% of the PHP programmers out there.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifKc4gZPohMQcEXzMxvjLm4yb5jdlsvLOpsWxa7z_nLCi-F-je9ioM-ExTQI0_X7uo9yUvV0OeSZ9A_Uj5wg0kmY7YRbh_5rERiJkCTMusH0XQ_vKiWGvT9aS_8RDAC_f5k5SggUo6Bv7K/s1600/IMG_20160507_162256.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifKc4gZPohMQcEXzMxvjLm4yb5jdlsvLOpsWxa7z_nLCi-F-je9ioM-ExTQI0_X7uo9yUvV0OeSZ9A_Uj5wg0kmY7YRbh_5rERiJkCTMusH0XQ_vKiWGvT9aS_8RDAC_f5k5SggUo6Bv7K/s320/IMG_20160507_162256.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">I like this pig because it kind of looks like a squirrel.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9Au21IudrqNw0WeTUyyVGlqkt0wLNPM4opgPTJzSpHx294gVFWJXaNSBgbPKKd2fUoCxFDK2fjPQWBfmBj91YWmEApXXdDRk7jgN7jTJschbfyLJr3N8Q_a2LKF68QgCOtUzw0BHSby1k/s1600/IMG_20160507_162245.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9Au21IudrqNw0WeTUyyVGlqkt0wLNPM4opgPTJzSpHx294gVFWJXaNSBgbPKKd2fUoCxFDK2fjPQWBfmBj91YWmEApXXdDRk7jgN7jTJschbfyLJr3N8Q_a2LKF68QgCOtUzw0BHSby1k/s320/IMG_20160507_162245.jpg" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">That's either a rhino or Rocksteady from TMNT. </span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQrna-91FvkRSYp8LwKE3_yjLnUVB-Qq84Rijqq3Nsom0gyy67QQP5mKdvJ5v6NajQZI9LetvUuQF9HCxfVVLGPJ-72Lb1rjAdCUIsSqzfC1XmVASp_VOEl6XI50kNL9r9rwXbOAkuYMZJ/s1600/IMG_20160507_162228.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQrna-91FvkRSYp8LwKE3_yjLnUVB-Qq84Rijqq3Nsom0gyy67QQP5mKdvJ5v6NajQZI9LetvUuQF9HCxfVVLGPJ-72Lb1rjAdCUIsSqzfC1XmVASp_VOEl6XI50kNL9r9rwXbOAkuYMZJ/s320/IMG_20160507_162228.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<i><b><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">BOAR WARS?</span></b></i></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><i> </i>COME ON PEOPLE THE INSTRUCTIONS WERE CLEAR</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggbTGqO3-hZQX2VgmMM2rgkrNT9TpelOJxB0wLGTMRFK7twI3r1yl_wkHIummnBxuYoWcKKzpDap7E243dATi271dNXrP5gegroz52LjX5K0j6GTxRSH4SFON_Rj2IrRoGghARGM6rFNrN/s1600/IMG_20160507_162216.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggbTGqO3-hZQX2VgmMM2rgkrNT9TpelOJxB0wLGTMRFK7twI3r1yl_wkHIummnBxuYoWcKKzpDap7E243dATi271dNXrP5gegroz52LjX5K0j6GTxRSH4SFON_Rj2IrRoGghARGM6rFNrN/s320/IMG_20160507_162216.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">Great point.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVIXsQdMN0eCa9Uqiz0MMQicv4bXCrYXaT_OpEzqwopyviF-LXliOI17NBAT5W4nuIh3VAJcI2dKtW8AlWGP-gTYF4Q8SUciC0x9s3JsCRR-5ltCcitgQrIMHUSYhuBs8jEulrr-oB4hm6/s1600/IMG_20160507_162206.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVIXsQdMN0eCa9Uqiz0MMQicv4bXCrYXaT_OpEzqwopyviF-LXliOI17NBAT5W4nuIh3VAJcI2dKtW8AlWGP-gTYF4Q8SUciC0x9s3JsCRR-5ltCcitgQrIMHUSYhuBs8jEulrr-oB4hm6/s320/IMG_20160507_162206.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">This one looks like he'd be the first to stick somebody with a broken bottle in a bar fight.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small; margin-left: 1em; margin-right: 1em;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4bfMM8NH0sB6QDEU3lSbPgX2q9P0wyGCO-CLk7vKnUT-Mdq2i5x7uvDksG52SwaY_2xZgqYF5h91Qpb4-VaVaPBTtS3DQ3PBNvYcjeTLtdfL8pk4jESyX6hz_JZvK_0ov_VHTF_c6f6J6/s1600/IMG_20160507_162156.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4bfMM8NH0sB6QDEU3lSbPgX2q9P0wyGCO-CLk7vKnUT-Mdq2i5x7uvDksG52SwaY_2xZgqYF5h91Qpb4-VaVaPBTtS3DQ3PBNvYcjeTLtdfL8pk4jESyX6hz_JZvK_0ov_VHTF_c6f6J6/s320/IMG_20160507_162156.jpg" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;">I'm really surprised there weren't more Lion King references.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: x-small;"><br /></span></div>
<div style="text-align: center;">
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-6709671911140048862016-05-30T18:16:00.001-07:002016-05-30T18:18:51.216-07:00Get Go Sandwich Standoff: "West Coast Chicken Sub" vs "Parma Mia"<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; line-height: 20.24px; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "arial";">Recently I decided that my stomach (and heart) had enough of a break since my <a href="http://geekitarian.blogspot.com/2015/07/get-go-sandwich-standoff-smokehouse-vs.html">last gastrointestinal undertaking</a> at </span><a href="https://www.getgocafe.com/" style="font-family: arial; line-height: 20.24px;">GetGo</a><span style="font-family: "arial";">, so I headed over to the local purveyor of diesel fuel, fine foods, and gasoline to to try their <a href="https://www.facebook.com/GiantEagleGetGo/photos/a.318717321997.193343.170318776997/10153833954416998/?type=3">New Yorker</a> sub. Unfortunately it was a limited time offer, and time was up... but they did have this new great looking sandwich, the <a href="https://www.getgocafe.com/campaigns/west-coast-chicken-sub">West Coast Chicken Sub</a>.</span></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; line-height: 20.24px; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "arial";"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzhy6bMlk4kjt60obU6Q_kFnHxDnMH-FsVfGT4ofbFNpE834Opy0wO_qC2ghBNmskfCewtOSsVWUjn4Z5izK6xOEM8BK0dH2BGI5Tlf3_PgZso6DUbK8NVrUpfBSIo3fgsGX9fpoHzb_T0/s1600/Screen+Shot+2016-05-30+at+6.53.27+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzhy6bMlk4kjt60obU6Q_kFnHxDnMH-FsVfGT4ofbFNpE834Opy0wO_qC2ghBNmskfCewtOSsVWUjn4Z5izK6xOEM8BK0dH2BGI5Tlf3_PgZso6DUbK8NVrUpfBSIo3fgsGX9fpoHzb_T0/s400/Screen+Shot+2016-05-30+at+6.53.27+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;">According to the <a href="https://www.getgocafe.com/campaigns/west-coast-chicken-sub">GetGo Cafe website</a>:</span></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;"><br /></span></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;"><i>"Our exclusive West Coast Chicken Sub is stacked with tender, juicy chicken, crisp bacon, melty Swiss, fresh spinach, tomato and guacamole, all on a multigrain sub roll baked fresh in-store!"</i></span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;">I ordered a 3.5" straightaway, and I also picked up a Parma Mia (GetGo's over-the-top take on a Chicken Parmesan sub).</span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;">First impressions: what I ended up with looked quite a bit different from the picture in the store. Not quite "stacked with" anything, really. I got a slice of tomato, 4 spinach leaves, about 3 tiny strips of grilled chicken, and one piece of bacon. I could taste a dash of guacamole. There might be cheese? I can't be sure.</span></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2isU0ZCGul7s-ZGZDxGkoNx-IIUhiGh7CBHE9cC4vz3yutfgIAfiYVQyQW2nN_vtx-j2M5LJLGEAhRroS0zgbghmG_FARjyq6e07w2GmuLPiM2ri_WQyks6KYF-K479dn65Df5RJF2B8S/s1600/IMG_20160520_190537.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2isU0ZCGul7s-ZGZDxGkoNx-IIUhiGh7CBHE9cC4vz3yutfgIAfiYVQyQW2nN_vtx-j2M5LJLGEAhRroS0zgbghmG_FARjyq6e07w2GmuLPiM2ri_WQyks6KYF-K479dn65Df5RJF2B8S/s320/IMG_20160520_190537.jpg" width="239" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;">Comparing the promotional picture to the one in front of me reminds me of something...</span></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfkH6ahB3o2Xz0BakuThhHKcVZIG9ymXuYQOlrkQqOUAkfcpLf6_bqZnWHKKL1SrydswZiIk5HzIrsRT9TlMmdJsDa63jmzZz7MW2DgKD_gh3Ez4JS8phM2Iucs8GUvkd4GktUlgcIcxiZ/s1600/Screen+Shot+2016-05-30+at+7.14.29+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfkH6ahB3o2Xz0BakuThhHKcVZIG9ymXuYQOlrkQqOUAkfcpLf6_bqZnWHKKL1SrydswZiIk5HzIrsRT9TlMmdJsDa63jmzZz7MW2DgKD_gh3Ez4JS8phM2Iucs8GUvkd4GktUlgcIcxiZ/s320/Screen+Shot+2016-05-30+at+7.14.29+PM.png" width="320" /></a></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;"><i><span style="font-size: x-small;">This sandwich is likely to have lifelong self esteem issues due to failing to meet its high visual expectations. </span></i></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The flavor? Actually not bad, but the filling-to-bread ratio is messed up... there's not enough here. The proportions are all off. The effect is like they made a tiny sub, then put the sub inside another bigger sub. </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifiyIKz9v5r97qTYPvF7u1CsEOMEmUci74nPRx8Ld2sMwyKmyQcZNxDaaQ4OfYQUTLfe52OXWiyGAcn4Nqr9z_KR7MjrdYqZf0OqMGaGdUEne3E_ffhWOkO5p5OdBsq32dY53IYvOp3IQ/s1600/inception.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifiyIKz9v5r97qTYPvF7u1CsEOMEmUci74nPRx8Ld2sMwyKmyQcZNxDaaQ4OfYQUTLfe52OXWiyGAcn4Nqr9z_KR7MjrdYqZf0OqMGaGdUEne3E_ffhWOkO5p5OdBsq32dY53IYvOp3IQ/s1600/inception.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<i style="font-family: Arial; line-height: 22.08px; white-space: pre-wrap;"><span style="font-size: x-small;">Is it subception?</span></i></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Also, it's too toasted. What's with this sandwich toasting? It makes eating the bread like crunching sharp gravel. There might be easier ways to carve up the roof of your mouth but this definitely does the trick. Subway does the same thing, but at least they ask before submitting you to mouth torture.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1M3N2VR5nD7JtY2AyKkZ3MR7Nxn_p11nowv_-XebHrGWmfvSCu96uVr8qAgPrBOG3eLqXwZnJ5OwkIAqOGn9W1VW1gUmDlSG9Jl6lqZSCsz4bbbZsv8gVKpy2aYzKdYb7a72rpKKtXGbD/s1600/IMG_20160520_190711.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1M3N2VR5nD7JtY2AyKkZ3MR7Nxn_p11nowv_-XebHrGWmfvSCu96uVr8qAgPrBOG3eLqXwZnJ5OwkIAqOGn9W1VW1gUmDlSG9Jl6lqZSCsz4bbbZsv8gVKpy2aYzKdYb7a72rpKKtXGbD/s320/IMG_20160520_190711.jpg" width="239" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial"; font-size: xx-small;"><span style="font-size: x-small; line-height: 22.08px; white-space: pre-wrap;"><i>Every $5 toasted footlong comes with a 1 day supply of oral agony!</i></span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;">Regardless, I did finish it. That's a plus. There weren't many flavors, but the ones that are there are pretty good. You could try ordering the 14" version and just throwing out half of the bread - that might do it.</span></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;"><br /></span></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;"><br /></span></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;">Next up: the Parma Mia. GetGo has a great picture of it on their website.</span></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf29yDLTvQZnyzB5VLSBgsAv44MDaSX49GQxotk9OOtpyI7O5mAi3CyVbHgVIKJnVnOtmASQ4jWslIU7js0H3zFZHZ9P1s3zkPNP5KVRGggqrWK6o5FFjICsrb1XVLqzx-qvfvqz8axCNW/s1600/Screen+Shot+2016-05-30+at+7.21.14+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf29yDLTvQZnyzB5VLSBgsAv44MDaSX49GQxotk9OOtpyI7O5mAi3CyVbHgVIKJnVnOtmASQ4jWslIU7js0H3zFZHZ9P1s3zkPNP5KVRGggqrWK6o5FFjICsrb1XVLqzx-qvfvqz8axCNW/s400/Screen+Shot+2016-05-30+at+7.21.14+PM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;">This is what mine looked like:</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD_L7wZaW9Ye9YtGFT5UCipPtEpJlxXpfrY36udSm8TaMFxwlBgI2rmnqjhDQrSrN9d94ccqH8mtZaLNyWCFtyXFZ27di0ewrfC-EXJ6WzOoKtl3J0VbYiR8jYhVJBASNCrI1OlqvTbLlu/s1600/IMG_20160520_191114.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD_L7wZaW9Ye9YtGFT5UCipPtEpJlxXpfrY36udSm8TaMFxwlBgI2rmnqjhDQrSrN9d94ccqH8mtZaLNyWCFtyXFZ27di0ewrfC-EXJ6WzOoKtl3J0VbYiR8jYhVJBASNCrI1OlqvTbLlu/s320/IMG_20160520_191114.jpg" width="239" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial"; font-size: xx-small;"><span style="font-size: x-small; line-height: 22.08px; white-space: pre-wrap;"><i>Much like adulthood, the reality falls far short of expectations.</i></span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I couldn't find information on their website, but I believe the ingredients are fried chicken strips, tomato sauce, parmesan cheese, and mozzarella sticks. </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">I started in. F</span><span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;">irst bite, bread. Second bite, bread. The third bite was bread with a little breading. Fourth bite: bread, breading, and a hint of some cheap canned sauce like Prego. Wait... the fifth bite includes chicken (shocking!). Six bites in and I get to the whole experience.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYXq9TAcTW6shvnBlRZLT7KJw5_JnvGe233dA8bP6hSXAQbegvXjjnOCvtfrnQ3A8LZXsYyb6w49q7EddS743HCNHBEJMvAIQCoBnQJaGpLctbIrTgXjxeOwr1TCQ62psmbXLUf0MtB-yx/s1600/IMG_20160520_191338.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYXq9TAcTW6shvnBlRZLT7KJw5_JnvGe233dA8bP6hSXAQbegvXjjnOCvtfrnQ3A8LZXsYyb6w49q7EddS743HCNHBEJMvAIQCoBnQJaGpLctbIrTgXjxeOwr1TCQ62psmbXLUf0MtB-yx/s320/IMG_20160520_191338.jpg" width="239" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial"; font-size: xx-small;"><span style="font-size: x-small; line-height: 22.08px; white-space: pre-wrap;"><i>How do they hide the fillings so deeply in the sandwich? I think it's magnets.</i></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; line-height: 20.24px; white-space: pre-wrap;">It's... edible. Mostly, everything just tastes like breading, but not crispy - it's soggy breading. I'm assuming that the chicken and mozzarella sticks are microwaved. It reminds me of sad vending machine lunches under fluorescent lights in some corporate breakroom. The overwhelming number of fried things makes it all congeal together. The mozzarella sticks are the most disappointing. They don't taste like anything other than salty cheese. </span><span style="font-family: "arial"; line-height: 20.24px; white-space: pre-wrap;">Honestly, it c</span><span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;">ould've been just regular old mozzarella cheese instead of fried cheese sticks and it would've tasted about the same, maybe even better.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; line-height: 20.24px; white-space: pre-wrap;">It's not the worst thing I've eaten, but I've had much better chicken parmesan subs, and it actually reminds me a lot of <a href="http://geekitarian.blogspot.com/2015/06/getgo-sandwich-standoff-general-vs.html">The General</a> - a few things that are OK on their own but the combination is </span><span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;">somehow less than the sum of its parts. I gave the rest of it away, I didn't want to finish it.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial"; line-height: 1.38; white-space: pre-wrap;"><br /></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;">The West Coast Chicken Sub gets the win here, even though it's almost like they're fighting in different divisions. The puny bit of healthy stuff on the West Coast Chicken Sub somehow beats out the giant, sturdy mass of microwaved fried frozen bar food on the Parma Mia.</span><span style="line-height: 20.24px; white-space: pre-wrap;"> Reminds of a Bible story or a boxing game or something.</span></span></div>
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial";"><span style="line-height: 20.24px; white-space: pre-wrap;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVxOLuaPHx2ADYXvixOrlyLQU-Xng-iWlI9IlQZGrSoldzLvKyk-HavFnWsz5VG9izWANFOrvf629kTJAg9KKleuwT02_sSzBF-CKUXCsADVSDXEMGPqqFj6mJILFPM9exIVVk5MkR-vAo/s1600/qmlr03xxqqkwqa7fybb2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVxOLuaPHx2ADYXvixOrlyLQU-Xng-iWlI9IlQZGrSoldzLvKyk-HavFnWsz5VG9izWANFOrvf629kTJAg9KKleuwT02_sSzBF-CKUXCsADVSDXEMGPqqFj6mJILFPM9exIVVk5MkR-vAo/s320/qmlr03xxqqkwqa7fybb2.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "arial"; font-size: xx-small;"><span style="font-size: x-small; line-height: 22.08px; white-space: pre-wrap;"><i>"I think that everything I do tends to root for the underdog." -Judd Apatow, talking about gas station sandwiches (probably)</i></span></span></div>
<div style="text-align: center;">
<br />
<br />
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-19092228515615013832016-05-25T19:13:00.000-07:002016-05-25T19:22:19.277-07:00A Few More Probably Totally Normal Things My Son Has Said<div class="tr_bq">
My son is 7 now. <a href="http://geekitarian.blogspot.com/2015/07/crazy-things-my-son-has-said.html">He used to be 6.</a> Sometimes he says words.</div>
<br />
<blockquote>
Benny's Christmas List:<br />
<ul>
<li>Super Smash Brothers</li>
<li>Bumblebee Transformer</li>
<li>Pokemon Stuffed Animal Lillipup</li>
<li>Puppy Place Series</li>
<li>Infinity Star Wars Set</li>
<li>iPod</li>
<li>Phone</li>
<li>A Car*</li>
</ul>
* I was just kidding about the car</blockquote>
<br />
<br />
<blockquote>
Benny: Knock knock.<br />
Me: Who's there?<br />
(Benny angrily glares at me, unblinking, for about 30 seconds)</blockquote>
<br />
<br />
<blockquote>
We can hardly do <i>anything</i> an owl can do.
</blockquote>
<br />
<br />
<blockquote>
Mama, I am <b>sooooo</b> glad I was born in 2008. I would <b>NOT</b> want to have been born when we were owned by England.
</blockquote>
<br />
<br />
<blockquote>
I feel like you need to buy new underwear because I think people can see my butt through these. </blockquote>
<br />
<div>
<br /></div>
<div style="text-align: center;">
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-48473393005742293912016-05-06T06:12:00.002-07:002016-05-06T06:14:29.018-07:00Promoting Your Business OnlineHere's a presentation I wrote about cost effectively promoting your small business online for <a target="newwin" href="http://www.chatham.edu/cwe/">Chatham's Center for Women's Entrepreneurship</a> last month.
<br><br>
<div style="text-align: center;">
<iframe src="https://docs.google.com/presentation/d/1IvZwR2DK-jzqCIKR32mnqTpD7I0wUELAVXfdzUA3gys/embed?start=false&loop=false&delayms=30000" frameborder="0" width="480" height="299" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
</div>
<div style="text-align: center;">
<br />
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-50271512031925570952016-01-22T07:44:00.001-08:002016-05-06T06:08:59.342-07:00Videos for "Careers for the Digital Age"Every week I'm posting summary videos to my YouTube channel for the class I'm teaching this semester at Chatham. <br />
<br />
Here's the first one: it describes what happens when you type "amazon.com" into your browser and hit enter.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/jKrBh94O4WA/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/jKrBh94O4WA?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
Here's the second one: it talks about how a site like amazon.com builds the page you see in your browser.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/248WFM1LaDY/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/248WFM1LaDY?feature=player_embedded" width="320"></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
You can check out all the course content over at <a href="http://cdachatham.blogspot.com/">Careers for the Digital Age</a>.</div>
<br />
<div style="text-align: center;">
<br />
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-869709890780023802015-12-10T07:27:00.003-08:002015-12-10T07:29:38.401-08:00Fall 2015 Web Development Projects<div style="text-align: center;">
<div style="text-align: left;">
I've been teaching the <a href="http://www.engineeringx.pitt.edu/courses/CS1520/">CS1520 Programming Languages for Web Applications</a> class at the University of Pittsburgh for 3 terms now and each term the students have formed groups to build projects on <a href="https://cloud.google.com/appengine/docs">Google App Engine</a>. There were some great projects this term - I've got them all detailed below.<br />
<br />
Let me know what you think in the comments section!<br />
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://pittfashionshare.appspot.com/">http://pittfashionshare.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> A platform for college students to showcase their daily outfits. Really great UI.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://hsdeckassistant.appspot.com/">http://hsdeckassistant.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Deck builder for Hearthstone - very complete and interactive application.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://ctrl-class.appspot.com/">http://ctrl-class.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> It's a classroom task management system to manage projects and todos.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://pitt-yak.appspot.com/">http://pitt-yak.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Like YikYak, but just for Oakland. Works really well on mobile.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://neko-mogi.appspot.com/">http://neko-mogi.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Online virtual pet. Has a great <a href="http://neko-mogi.appspot.com/cat?cname=xyaz">404 page</a>.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://pittbeer.com/">http://pittbeer.com/</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Beer delivery for the Oakland area. Hypothetically (I think).</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://thesuggestionbox-1.appspot.com/">http://thesuggestionbox-1.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Connects users to provide helpful suggestions on any topic.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://hopper-1091.appspot.com/">http://hopper-1091.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Tells you various bar specials in the area, and how to get there.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://socialeventcal.appspot.com/">http://socialeventcal.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Shows local events and lets users chat about them.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://cryptchat-1090.appspot.com/">http://cryptchat-1090.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Chat rooms with messages encrypted using JavaScript.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://cs-1520-awesome-pgh.appspot.com/">http://cs-1520-awesome-pgh.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Inspired by Awesome Pittsburgh, it allows contributors to vote on ideas and allows sponsors to vote on funding one of them.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://panamb-1078.appspot.com/">http://panamb-1078.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Allows users to upload ambient sound files and tag them with a location so that people who are traveling can hear the sounds of home.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://pittctf.appspot.com/">http://pittctf.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Systems security challenge competitions.</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://auta-me-1.appspot.com/">http://auta-me-1.appspot.com</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
> Peer tutoring and project help.</div>
</div>
<div style="text-align: center;">
<br />
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-24519463225981476172015-11-24T16:25:00.000-08:002015-11-24T16:25:25.869-08:00How to get a job.Here's a presentation I put together for <a href="http://www.duq.edu/academics/schools/liberal-arts/academic-programs/math-and-computer-science/seminar">Duquesne's Math and CS Seminar Series</a> a few weeks ago.
<br><br>
<iframe src="https://docs.google.com/presentation/d/1DnEH8ai-H-3sdKehwFl8VRIgaRPG40qnh2ZAs07pTMI/embed?start=false&loop=false&delayms=60000" frameborder="0" width="480" height="299" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
<div style="text-align: center;">
<br />
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-9361528001756778202015-11-06T06:38:00.002-08:002019-10-18T07:47:30.522-07:00Generating Leads, Interest, and Engagement with Social Media and the WebHere's a presentation I put together for <a href="http://www.chatham.edu/CWE/events/details.cfm?EventID=14386">Chatham's Center for Women's Entrepreneurship MyBusiness Growth Workshop</a> last week.
<br />
<br />
<iframe allowfullscreen="true" frameborder="0" height="299" mozallowfullscreen="true" src="https://docs.google.com/presentation/d/1LCirbOOnPSGGvJLjBdMe9554IFe2w6l7O1W06TCxNWo/embed?start=false&loop=false&delayms=30000" webkitallowfullscreen="true" width="480"></iframe>
<div style="text-align: center;">
<br />
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://gr1.me/ytlogo" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-68316983037948379902015-08-19T18:33:00.000-07:002015-11-24T16:24:57.949-08:00Acing the Coding Interview<div>
If you’re a computer science / information systems / computer engineering student, or if you’re working as a software engineer / developer / programmer, chances are that sooner or later you’re going to run into a coding interview: you’ll be given a problem and will be expected to solve it, face to face. Even if you can write great code, there are a few things you can do to increase your chances of impressing an interviewer. While different companies use a variety of styles, here’s some advice that should apply generally.</div>
<div>
<br /></div>
<h2>
Before the Interview</h2>
<div>
<b>Read up on the company and the position before you walk in the door. </b>You don't have to go crazy - a few minutes spent searching the web can give you good results here. Find out about the languages and technologies they use - if you know some of them, leverage your strengths here. If you don't, try to fill the gaps as much as you can before the interview. You might not be able to learn everything you don't know by the interview, but learning even just a little can go a long way - it demonstrates your interest in the job and shows you're willing to learn new things.</div>
<div>
<br /></div>
<div>
<b>Understand common data structures. </b>You should know how common ones work, and what they're useful for. It's good to know lists, hash tables, and binary trees, and how to use them to solve problems - they come up a lot in coding questions. Brush up before your interview if you don't remember them.</div>
<div>
<br /></div>
<div>
<b>Review Big-O notation. </b>You should be able to evaluate your code and talk about your thought process. It's reasonably common for an interviewer to ask you to analyze the computational complexity of your solution. </div>
<div>
<br /></div>
<div>
<b>Know some sorting algorithms.</b> It's important to be able to explain at least one sorting algorithm; insertion sort and merge sort are pretty good ones to know. It's definitely good to be able to write the code for those - try to find some solutions in your chosen language or the language you'll need to use and practice them. More than once I've had interviewers simply ask me to write a sorting algorithm, so a little preparation here might really help you in the interview.</div>
<div>
<br /></div>
<div>
<b>Practice.</b> One of the most important things you can do (and one thing that many candidates skip) is practice; so many candidates spend years honing their technical skills but won't spend an hour to practice their interviewing skills. An easy way to do this is to find a friend and ask each other technical questions. Even if it's a question you already know the answer to, it's definitely useful to practice articulating the answer and explaining your solution. Project Euler and Google CodeJam are good places to start for practice questions.</div>
<div>
<br /></div>
<div>
<b>Be prepared to write code a few different ways.</b> Some companies will let you use a laptop, some ask you to scribble a solution on paper, and some will have you write it out on a whiteboard. Make sure you can solve the problem with any of those... you don't want the first time you solve a problem on the whiteboard to be in front of the interviewer.</div>
<div>
<br /></div>
<h2>
Before You Answer</h2>
<div>
<b>Pick the right language. </b>The interviewer might ask you to use a specific language, but if he or she doesn't, make sure the language you want to use is OK. If you're most comfortable with one particular language, use that one if you can. Don't try to get adventurous and attempt to answer questions in a language you're just starting to learn - put your best foot forward here.</div>
<div>
<br /></div>
<div>
<b>Ask questions. </b>It's important to ask lots of questions to make sure you understand what the interviewer is looking for - don't make assumptions without verifying them (even small things). Approaching a problem the wrong way can really derail your solution, and missing some small details can invalidate your whole approach. Make sure you're on the same page with the interviewer.</div>
<div>
<br /></div>
<h2>
Answering the Question</h2>
<div>
<b>Communicate. </b>After you've been asked a question, talk through your thought process and communicate with the interviewer. If you need a minute to think, just tell the interviewer that. The interviewer can't read your mind - keeping an open line of communication will help the interview flow. If you get stuck, explain why you're stuck. It might help you figure out your problem, or it might prompt the interviewer to give you a hint - either way, keep communicating.</div>
<div>
<br /></div>
<div>
<b>Draw a picture if you need to. </b>Sometimes it helps to draw pictures or sketch out a solution before starting to write code - drawing a picture can help to make sure that you and the interviewer are on the same page about expectations. If you're still not sure how to start, write down some test inputs and explain how you'd approach the problem for them - that might help you to find the right way to code the solution.</div>
<div>
<br /></div>
<div>
<b>Brute force isn’t always bad. </b>If you're not confident about coming up with an optimal solution for the question, it might be a good approach to start with a brute force approach and iterate to improve it. Even if you don't know an elegant solution immediately, you'll at least have something to show if you start with the obvious solution.</div>
<div>
<br /></div>
<div>
<b>Keep an eye on the time. </b>Don't rush if there's still a while before your interview is over - pace yourself. Let your interviewer prompt you if there are unknown time constraints.</div>
<div>
<br /></div>
<h2>
After You Answer</h2>
<div>
<b>Be ready to ask your interviewer a question or two. </b>If you do a bit of research about the company you're interviewing with you should be able to come up with some questions, but here are some ideas if you don't come up with anything:</div>
<div>
<ul>
<li>Is the question you just asked a typical problem you solve here? How is the real job different?</li>
<li>What's your favorite thing about working here?</li>
<li>What's a typical day like in your role?</li>
<li>What's something about your job that bothers you regularly?</li>
<li>What about your current role has helped you grow in your career?</li>
<li>Other than this company, what other companies are you interested in?</li>
<li>If I ultimately want to do ______, how might this job help me do that?</li>
<li>What's the hardest problem you're facing right now?</li>
</ul>
</div>
<div>
<b>Make sure you thank your interviewer for their time. </b>It's a formality, but one that's noticed (especially if you skip it).</div>
<div>
<br /></div>
<div style="text-align: center;">
<br />
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-36116328354796902292015-08-17T18:53:00.002-07:002015-08-17T20:34:31.134-07:00Students: Want an Internship for Next Summer? Don't Wait.The fall semester is a challenge - coming back to school after a summer off, it can be hard to get right back into the swing of things. Vacations, barbecues, parties, trips... there are lots of things to keep you out of the studying mindset for a few months and that can bleed into the fall semester.<br />
<br />
Unfortunately, lots of companies will have selected their summer interns by the time you've read the syllabus for all of your classes. This means that you've got some work to do to secure your dream job. Here are a few tips to hit the ground running.<br />
<br />
<h3>
#1: Figure out what you want.</h3>
If you're a freshman, you can learn a lot about companies you might like to work for at this point - there are definitely internships out there for after your freshman year, but if you don't feel like you're ready, you can still also collect lots of information. As a sophomore, next summer might seem like a long way away, but it's important to consider if you're going to want an internship - if so, you should start preparing now. If you're a junior, this is really the time to be thinking about internships. Setting reasonable goals and expectations for yourself now can help you plan for the next few months.<br />
<br />
<h3>
#2: Start your resume now.</h3>
You can always update it later. If you get something started right away, you'll already have a starting point when you're asked for a resume. You can iterate on this, but try to have even just a rough draft as soon as you can. You can come up with a basic resume just by listing your school, relevant experience, and student organizations; you can polish it later before submitting it to companies (but be sure to <a href="http://geekitarian.blogspot.com/2015/08/8-common-technical-resume-problems.html">avoid these common mistakes</a>).<br />
<br />
<h3>
#3: Learn about your reputation.</h3>
Set your browser to incognito mode / private browsing mode and see what you can find out about yourself. Use a search engine to search for your name. See what you can learn about yourself on social media sites. Prospective employers will do the same, so make sure that there are no red flags - you've still got time at this point to fix things (or at least make those party pics private).<br />
<br />
<h3>
#4: Watch for job fairs.</h3>
The school where I'm teaching holds its <a href="http://www.studentaffairs.pitt.edu/cdpa/fallfair">first job fair at the end of September</a>. Find out when the first one for your school is and take a look at the companies that will be there. Even if there aren't any that you're interested in, it can be a good place to practice talking to recruiters. It can also be a great place to have some questions answered - lots of the company attendees will give you advice on the skills they look for, what their interview process is like, or what classes you should consider taking if you want to stand out.<br />
<br />
<h3>
#5: Research the companies you're interested in.</h3>
Make sure you understand their timelines for interns and new grad hires. Some hire late into the spring semester, but more and more are done with their recruiting season by the end of November. Use one of the many calendar applications available and set some reminders so you don't miss any deadlines. Do some research to understand what they look for in new recruits - for larger companies you can usually find a blog post or an internship review with a quick search.<br />
<br />
<h3>
#6: Network.</h3>
Lots of your professors have professional connections. You might have family friends who are in the industry, or you might just meet somebody at a party who's already interning. Building our your professional network can help make the difference between "we will keep your resume on file" or landing an interview. There's a good chance that a recruiter will check LinkedIn to see if they know somebody who knows you, so do your best to establish connections where you can.<br />
<br />
<h3>
#7: Get ready to interview.</h3>
Look at the job description to understand the skills necessary for the position - try to brush up on them. You can also typically find practice questions on the web - try working through them with some friends. You don't want the first time you try writing code on a whiteboard to be with an interviewer, so try to make your practice sessions as real as possible.
<br />
<div style="text-align: center;">
<br />
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-67286542446164348132015-08-02T20:18:00.000-07:002015-08-02T20:18:48.418-07:008 Common Technical Resume ProblemsI've been teaching technology courses for almost a decade now, and I really enjoy helping students work on their careers outside of the classroom - whether it's trying to help them find jobs, improve interview skills, or helping with networking. Resume help is a common request; technical resumes can be a bit different than others so I'm glad to share some of the things that I've learned. It seems to me that a lot of students have a good base for their resume, but make some common mistakes; here are some issues I regularly notice and how you can improve upon them.<br />
<br />
<br />
<b>#8: Ordering</b><br />
Problems with ordering are not the most common problem I see, but I see it often enough. Since people tend to read resumes from the top to bottom, the order that you present your content sections can be pretty important. There are no hard-and-fast rules about ordering on a resume; but because of the typical top-to-bottom approach, I think it's best to put the most interesting and compelling sections first on your resume. Most students start their resume off with their education, which makes sense since they're currently in school. After that, though, you should focus on what you think is the next most important thing about you - put that section next. Maybe it's your work experience; perhaps it's a few notable class projects or some research you've done. Whatever it is, your best content should go near the top of your resume.<br />
<br />
This can also apply to the bullet points listing experience under each one of your jobs. Ordering these bullet points by impact or the value they provided can make your resume more engaging. What's more, it can help you to identify your own strengths.<br />
<br />
<div>
<br /></div>
<div>
<b>#7: Skills Lists</b><br />
When you're constructing a technical resume for technology jobs, there are typically four different targets that might read it: a resume scanner / database, a recruiter or someone in human resources, a hiring manager, and a peer / developer / engineer. Lists of skills can be pretty effective for the first one - keyword matching can work well for a scanner, but they don't work as well for the other three. This can usually be improved by adding a little detail about how you've used these skills - how did you gain this skill? How have you applied it?<br />
<br />
An even better approach is to identify the skills you've used within your experience - it will make them seem much more concrete and realistic.<br />
<br />
<br />
<div>
<div>
<b>#6: Formatting and Consistency</b></div>
<div>
Fonts are typically not the problem here (though they can be). The bigger problem with formatting and consistency is around tense and the way that experience is described. It's pretty common to see a resume jump from present tense to past tense to present perfect within the description of just one job. Make sure that your tenses are consistent - it makes your resume much more readable. Switching tenses can make a reader subconsciously uncomfortable, which is not the feeling you want your resume to inspire.<br />
<br />
Another problem that I see with formatting and consistency is with dates and ordering - make sure that you're consistent with the way you're formatting dates. For instance, don't spell out months in one section and abbreviate them in another. The way you're ordering things by date is important, too. Don't go from oldest-to-newest in one section and newest-to-oldest in another - it can add a bit of confusion. <br />
<br /></div>
<div>
<br /></div>
<div>
<b>#5: Reviewing</b><br />
<div>
Probably the most important thing to understand here is that I don't know everything. It's possible that some of this advice won't work for you. This is why it's important to have more than one person review your resume. Not everybody has the same style. You don't want to write your resume to conform to just one opinion, unless the only person you're going to put it in front of is the only person who might hire you. <br />
<br />
The more people you can get to look at your resume, the better - you don't have to take all of the advice, but the different perspectives can give you some insight into how an interviewer might see your resume.<br />
<br />
<br /></div>
</div>
<div>
<b>#4: Missed Opportunities</b><br />
With students, this can be a big gap. Lots of students are looking for experience to boost their resume, without considering some of the things they might have already done. Volunteer work, class project experience, open source contributions, and leadership positions are all things that are notable on resumes, but I often see them missing, even from students that I know have done these things.<br />
<br />
Note that as a student, you have plenty of opportunity to fill this in throughout your schooling - find opportunities to volunteer. Look at your class projects as an opportunity to build something great that you can put on your resume. Go join a club. Work on an open source project that interests you. All of these can really help fill in a resume without a ton of extra effort, and they can be rewarding experiences regardless.<br />
<br /></div>
<div>
<br /></div>
<div>
<b>#3: Unnecessary Objective</b></div>
Almost every student resume I see has this. I don't see much value in them - it might just be my personal opinion, but I think that in general, objective statements on resumes have fallen out of favor. They just take up space that could be used in better ways; typically your resume should convey your objective without really stating it. I'd say the only place these make sense is if you have no experience, you're trying to change careers, or if the job you're looking for can't really be determined from your past experience. <br />
<br />
If your last 3 internships were in systems analysis and I received your resume for a systems analyst position, I'm just going to assume that your objective is to get a position in systems analysis.<br />
<br />
<div>
<br /></div>
<div>
<b>#2: Job Descriptions as Experience</b><br />
Your experience will be more striking and sound much better if you list the bullet points under your job as accomplishments instead of regurgitating the job description. I see this problem on almost every resume I review, and it always makes resumes blend in with the rest of the stack. If you were a software development intern, anybody who sees your resume can safely assume that you developed software. What did you do that was interesting? What did you do that nobody else in the position did? How did your work affect the team? <br />
<br />
Listing notable accomplishments and the impact that you were able to have as an employee will make your resume stand out from others.<br />
<br /></div>
<div>
<br /></div>
<div>
<b>#1: Ignoring Opportunity Cost</b></div>
<div>
This one applies to resumes for students and for more experienced professionals. The concept of opportunity cost is very important on a resume. Put very simply, opportunity cost is what you pay in missed opportunities for any decision you make. Applied to resumes: every single thing that's on your resume is a chance that somebody will miss something else. Because of this, it's best to concentrate on the most impressive parts of your experience, and leave off the less impressive parts. I'd rather see a brief but impressive resume than a 7 page resume listing every inane thing a person has ever done.<br />
<br />
Remember, your resume is like a sales brochure for <b>you</b> - when you build it, make sure you concentrate on the best parts.</div>
<div>
<br /></div>
<div>
<br /></div>
</div>
</div>
<div style="text-align: center;">
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-32905839050797328972015-07-29T18:18:00.001-07:002016-05-25T19:10:05.836-07:00Probably Totally Normal Things My Son Has Said<div class="tr_bq">
My son is 6. All of these are things he's said. All of these quotes are verbatim. I'd provide context but for almost all of these there just isn't any.</div>
<br />
<blockquote>
20. When I grow up, I'm gonna be a racer and I'm gonna run faster than all the other guys that are racers because they didn't eat their fruit.</blockquote>
<br />
<blockquote>
19. Oh daddy, I have a good idea! I don't do what you tell me but THEN I get ice cream!</blockquote>
<br />
<blockquote>
18. Daddy, nobody teached me how to do this. I learned it all by myself.</blockquote>
<br />
<blockquote>
17. When I grow up I want to be an elephant. A gwirl elephant. </blockquote>
<br />
<blockquote>
16. Well... At least my mouth will be lighter (<i>after losing a tooth</i>).</blockquote>
<br />
<blockquote>
15. Daddy, I want Uncle Rick to be my daddy. I want you to be my grandpa.</blockquote>
<br />
<blockquote>
14. My other foot smells like pizza, but my first foot smells stinky.</blockquote>
<br />
<blockquote>
13. I wish people had webbed feet. So they can swim better. </blockquote>
<br />
<blockquote>
12. I ate two donuts and I won't ever be hungry again ever.</blockquote>
<br />
<blockquote>
11. Dutch Wonderland is a real place.</blockquote>
<br />
<blockquote>
10. When I put something in my mouth, I can control it. </blockquote>
<br />
<blockquote>
9. When I'm a teenager I'm just gonna run around the house with Lilly and play video games and eat candy. </blockquote>
<br />
<blockquote>
8. Everybody has a mommy. Except soccer guys. But Iron Man has TWO mommies!</blockquote>
<br />
<blockquote>
7. Cats say, "Ricken ruggets." That's how they mean chicken nuggets.</blockquote>
<br />
<blockquote>
6. Real lightsabers aren't real. But pretend ones are. </blockquote>
<br />
<blockquote>
5. From now on I want you to call me Egg Sandwich.</blockquote>
<br />
<blockquote>
4. I'm eating a giraffe animal cracker. It tastes just like a giraffe.</blockquote>
<br />
<blockquote>
3. Pretty much, whenever I leave the house, I forget about the chimney.</blockquote>
<br />
<blockquote>
2. Daddy, I'm gonna be Pee Guy. He shoots arrows and fights the Red Skull.</blockquote>
<br />
<blockquote>
1. There's a place called Swordways in Zelienople and it's really scary but you can still go there and they sell swords for kids for six dollars and daddies can get swords too. Also they have shields.</blockquote>
<div>
<br /></div>
<div style="text-align: center;">
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com0tag:blogger.com,1999:blog-8853637670522077126.post-74804925887565462402015-07-26T10:56:00.003-07:002015-07-26T11:10:49.955-07:00Python Tutorial: Mastermind GameI just posted a Python tutorial for absolute beginners:<br />
<a href="http://www.coding4.us/python-programming-level1">http://www.coding4.us/python-programming-level1</a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM3xnHovVKevOi8E4UBoOFXnl2u96YKf4dVUHJbdQ20zTnc0uzznhOEjVDq4LZvpM7zJC253WmDtIo1at3-Gake7Lszg-7VRm82qw2KluNkGLoGZjBbIqvxKfuk62aBqJKYnLh0OSVxvD0/s1600/Screen+Shot+2015-07-26+at+1.25.36+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhM3xnHovVKevOi8E4UBoOFXnl2u96YKf4dVUHJbdQ20zTnc0uzznhOEjVDq4LZvpM7zJC253WmDtIo1at3-Gake7Lszg-7VRm82qw2KluNkGLoGZjBbIqvxKfuk62aBqJKYnLh0OSVxvD0/s400/Screen+Shot+2015-07-26+at+1.25.36+PM.png" width="400" /></a></div>
If you've ever wanted to learn how to code, this could be your start. Head over to <a href="http://www.coding4.us/python-programming-level1">Coding4.us</a> and check it out!<br />
<br />
<br />
<div style="text-align: center;">
<br />
<a href="http://www.youtube.com/c/TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="watch my videos on youtube" src="http://timothyrjames.com/icons/youtube.png" height="35" title="watch my videos on youtube" width="35" /></a>
<!--a style="padding-right: 24px;" href="http://geekitarian.blogspot.com"><img title="read my blog" alt="read my blog" src="http://timothyrjames.com/icons/blogger.png" width="35" height="35"></a-->
<a href="https://twitter.com/intent/follow?region=follow_link&screen_name=geekitarian&tw_p=followbutton" style="padding-right: 24px;"><img alt="follow me on twitter" src="http://timothyrjames.com/icons/twitter.png" height="35" title="follow me on twitter" width="35" /></a>
<a href="http://instagram.com/geekitarian" style="padding-right: 24px;"><img alt="view my pictures on instagram" src="http://timothyrjames.com/icons/instagram.png" height="35" title="view my pictures on instagram" width="35" /></a>
<a href="https://www.linkedin.com/in/timothyjames" style="padding-right: 24px;"><img alt="view my profile on linkedin" src="http://timothyrjames.com/icons/linkedin.png" height="35" title="view my profile on linkedin" width="35" /></a>
<a href="https://plus.google.com/+TimothyJamesPittsburgh" style="padding-right: 24px;"><img alt="view my google+ profile" src="http://timothyrjames.com/icons/plus.png" height="35" title="view my google+ profile" width="35" /></a>
</div>
geekitarianhttp://www.blogger.com/profile/07488117195347872238noreply@blogger.com1