<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Nick Shattuck </title>
    <description>The latest articles on Forem by Nick Shattuck  (@tacomanick).</description>
    <link>https://forem.com/tacomanick</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F173928%2Fa889a6ac-90d5-41cc-bcc8-e90aa49b00c1.jpg</url>
      <title>Forem: Nick Shattuck </title>
      <link>https://forem.com/tacomanick</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/tacomanick"/>
    <language>en</language>
    <item>
      <title>I just completed my first Hacktoberfest!</title>
      <dc:creator>Nick Shattuck </dc:creator>
      <pubDate>Sat, 17 Oct 2020 20:19:33 +0000</pubDate>
      <link>https://forem.com/tacomanick/i-just-completed-my-first-hacktoberfest-o23</link>
      <guid>https://forem.com/tacomanick/i-just-completed-my-first-hacktoberfest-o23</guid>
      <description>&lt;h2&gt;
  
  
  Here is what I learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  It's okay to feel intimidated
&lt;/h3&gt;

&lt;p&gt;At first, I was very intimidated. The last thing I wanted to happen was to make a mistake on someone else's work. Like many of us, I occasionally give into imposter syndrome and feel like my work isn't valuable. Thankfully, DEV has been an incredibly resourceful community in helping first-timers find projects they can feel comfortable with. Some projects are as simple as adding your name to a contributors list. Whether you're a seasoned vet or a complete novice, there's plenty of support here. I encourage everyone to participate!&lt;/p&gt;

&lt;h3&gt;
  
  
  There are plenty of projects to choose from
&lt;/h3&gt;

&lt;p&gt;I wasn't sure what sort of project I wanted to work on, but I did know that my time commitment in my personal life meant that my attention couldn't become bogged down in complex projects. I needed something short, yet rewarding. I noticed that a lot of projects had newbies writing algorithms such as selection sort, bubble sort, and many others. What luck! I need to occasionally review these for potential interviews and because, frankly, I'm terrible at them.  I was able to finish in about two days without many issues. &lt;/p&gt;

&lt;h3&gt;
  
  
  Don't sell yourself short!
&lt;/h3&gt;

&lt;p&gt;This goes back to my first point about feeling intimidated. This is completely normal, but don't let it get in the way of trying something new. Remember, every great software engineer started fresh at some point. Get out there and fail until you succeed. &lt;/p&gt;

</description>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>My journey in programming: Imposter syndrome, failure, and coming forward. </title>
      <dc:creator>Nick Shattuck </dc:creator>
      <pubDate>Sat, 26 Sep 2020 19:01:38 +0000</pubDate>
      <link>https://forem.com/tacomanick/my-journey-in-programming-imposter-syndrome-failure-and-coming-forward-43fj</link>
      <guid>https://forem.com/tacomanick/my-journey-in-programming-imposter-syndrome-failure-and-coming-forward-43fj</guid>
      <description>&lt;p&gt;I want to preface this post by first stating that this isn't meant to acquire pity. I don't need it. I am the happiest I have ever been in my 32 years of existence. I chose to share this because I can't be the only programmer out there who has this experience. The DEV community has been the kindest and most accepting group of developers that I have had the privilege to participate in. I felt that if I am going to come forward with admitting that I have struggled with mental health issues, imposter syndrome, and personal failures that this would be the place to start. I realize that admitting to having issues with mental health and learning disorder is a risky decision but at the same time I could end up encouraging someone with insight, so I think that it's worth speaking about. With that said, let's begin. &lt;/p&gt;

&lt;p&gt;I'm a late bloomer. Like many programmers, I changed careers without any prior experience in computer science or coding. I used to work in the media sector as a promotions assistant for a big radio station in Dallas, TX. It's incredibly competitive, and if I am honest, a pretty toxic industry. After a year of being underpaid for what should have been a full-time position, I decided to head back to school and find myself. &lt;/p&gt;

&lt;p&gt;I came across programming while studying abroad and decided that when I came back home, I would take a few classes at a local community college to see if I liked it. My first language was C++, and I hated it. The was odd syntax to me. It had weird symbols that resembled buttons you avoid pressing on your calculator. Mind you, this was my first ever programming language. It could have been any language and I would have found it intimidating. Despite my initial frustrations,  I felt that if I stuck with it, I would find something that would peak my interest. Computer Science is a big field, after all, and there had to be something in the sandbox I would want to play with. &lt;/p&gt;

&lt;p&gt;Then I came across Java. I found that it looked more like English, and I could understand it enough to stick with it. I struggled through my classes. It didn't seem to matter how much time I put into studying, I couldn't code independently. I always needed help. I remember I really struggled with loops. I was tortured by Fibonacci and recursion. "A Ducci sequence is.." is nope, that's what! I felt like an imposter, and that I wasn't smart enough. I doubted my intelligence. I always had to look up the answer to those types of questions. "Just break it down into smaller sections" my classmates would say. Yeah, I tried that, but I still suck at this. "Just Google it" was my favorite response. Oh, just Google it? If you didn't know pterodactyl began with a "p" and you asked me how to spell it, you'd want to punch me in my smug face if I told you "Just look it up in the dictionary." &lt;/p&gt;

&lt;p&gt;I too have experienced, and still experience,  the dreaded &lt;em&gt;imposter syndrome&lt;/em&gt;. While my classmates were accepted into prestigious programs like the University of Washington or Oregon State, I didn't have the grades or the ability to handle rigorous programs. So, I decided to attend a university you likely haven't heard of, Western Governors University. At the time, I thought it was another sleazy degree mill, but after some research, I found it's accredited and within my price range. I also became a dad at that point, so being able to study from home would enable me to have more time with my daughter. It wasn't my first pick, but fast forward to today, and I couldn't be happier. &lt;/p&gt;

&lt;p&gt;At first, I struggled. Just getting into my office some days was a battle. I overthought things a lot and missed deadlines be it personal or school-related even with the help of calendars and reminder apps. I remember asking my wife to read over the directions to an assignment I had one night. She read them and after mentioning she thought they were pretty straightforward, she asked me if I always had issues with assignments like this. When I said yes, she told me to request a learning disorder evaluation with my doctor. At the time I was seeing a psychiatrist for other mental health-related issues (mainly anxiety and depression). My wife is a teacher, so she knew something was off. She explained a lot of students exhibit the same patters that I did at the time. Even simple directions end up being incredibly confusing. &lt;/p&gt;

&lt;p&gt;When I explained this to my doctor, she agreed. She set up a simple test where I had to press the enter key on a computer keyboard whenever I saw a "target" on the screen. In this case, the target was the letter X. So if X flashes, press enter, but if B flashes, do nothing. At first, I didn't have any help. I read the directions on my own, but on the second attempt (designed to test for any false positives) the test giver would explain the directions orally. Both times, it was awful. I scored in the 90th percentile, which on a scale of 0-100, I was in the red. Diagnosis? ADHD. &lt;/p&gt;

&lt;p&gt;I was skeptical. How can I have attention problems when I can play video games for hours without pee breaks? Why is it that I can become fully immersed in a book if I have "attention problems"? It was enough having anxiety issues. I didn't need another label to add to my red flag list. But my doctor patiently explained that while I might be "paying attention" how much of that information can I actively recall? What is going on in your mind when your reading, or playing a game, studying or driving? I didn't know. &lt;/p&gt;

&lt;p&gt;"Exactly. Nick, your brain is wired differently", she told me. Your thoughts are everywhere but here, even though you are "here". Attention deficit is a bit of an unfair description. It's more like an impulse control problem. Say you ask me to code a Fibonacci algorithm. I don't immediately know the answer, so instead of breaking the problem down, my response is to flee the situation. Need to feel better? How about this $300 dollar 2k monitor? Sure, it's financially irresponsible. But, you'll be happy! And being happy feels good. Whether or not I know the answer isn't the issue. The neurotypical brain would likely just respond "I don't know", but my behavior is wired in a way that basically lets all of the spam mail into my inbox even when it's obviously full. Instead of sorting it, even with a Bubble Sort, my response is to dump it all onto the floor and go buy a sexy new monitor. &lt;/p&gt;

&lt;p&gt;This realization was a turning point for me because now that I had a label to put on my struggles, I had a point to attack it. Make no mistake, I wasn't a genius with some unlocked potential waiting to blossom. I wasn't going to magically be able to answer all of those questions I couldn't answer. I still probably can't answer a lot of them, but I could finally break things down into manageable chunks. The first problem being - doing my homework when I wanted to. &lt;/p&gt;

&lt;p&gt;Today, I am beginning the process of applying to internships. I am far from perfect. I don't have any personal projects or a flashy CS program that I attend, but I do have something I have always lacked - confidence. I now have a set of tools I can go to when I need help. I feel comfortable admitting to people that "No, I don't know the answer to that, but I will find out." I feel comfortable with the fact that I don't have any side projects I do on the weekend. My passion is learning, and I am always tinkering with new technologies, even if I lose interest at some point. I can always come back to them.&lt;/p&gt;

&lt;p&gt;Where am I going with this? If you're struggling, be it imposter syndrome, mental health issues, or feelings of inadequacy- it's okay. It might not feel that way at the moment, but it's going to be fine! I'm proof, and I think that people need to know that you can find joy in coding even if you feel inadequate. Ask for help if you need to. Speak out to people you trust. That's not a weakness. It's what makes you &lt;strong&gt;strong&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;You've got this. &lt;/p&gt;

</description>
      <category>career</category>
    </item>
    <item>
      <title>Why you should teach someone to code.  </title>
      <dc:creator>Nick Shattuck </dc:creator>
      <pubDate>Sat, 19 Sep 2020 16:30:01 +0000</pubDate>
      <link>https://forem.com/tacomanick/why-you-should-teach-someone-to-code-28he</link>
      <guid>https://forem.com/tacomanick/why-you-should-teach-someone-to-code-28he</guid>
      <description>&lt;p&gt;Earlier this year, I picked up a part-time job as a "Stem Outreach Advisor" at my local community college. The primary focus of my job was to get local high school kids involved in coding using a Raspberry Pi. At the time, I hadn't touched a Raspberry Pi in a few years, but I was intrigued by the challenge of relearning and also wanted to try my hand at teaching. I learned that teaching a classroom full of absolute beginners requires you to reevaluate what you consider to be routine, which leads a deeper understanding of your programming skills. &lt;/p&gt;

&lt;h2&gt;
  
  
  Teaching solidifies your understanding.
&lt;/h2&gt;

&lt;p&gt;The first thing I realized is that I took for granted what I considered to be "easy". Once we had our computers set up, I did a quick demo of some Python code, and I required students to build a simple tick-tack-toe game. This assignment went along with a tutorial just in case anyone got stuck, but I encouraged them to try it on their own before they got help. "Try it for 15 minutes. Don't worry if you get stuck, or blow up your console with an infinite loop. That's part of the fun. Once your 15 minutes are up, you can ask for help." &lt;/p&gt;

&lt;p&gt;After 15 minutes, literally every students' hand shot up. I knew the blank stares on their faces all too well. At this point, I pulled up a tutorial they could use to check their work, and I went around the room to help each student I could get to. One student, the only young woman in the whole group, managed to get something working! I was impressed, but she was quick to notice something was off. After a few seconds of troubleshooting, I figured out what the problem was. She was using &lt;code&gt;if&lt;/code&gt; conditionals instead of &lt;code&gt;elif&lt;/code&gt;, which was causing her code to behave incorrectly. After making the fix, her program worked beautifully. &lt;/p&gt;

&lt;p&gt;I went to the front of the room to demonstrate what was happening to her, and a number of other students, when I realized something. I didn't actually understand the difference between &lt;code&gt;if&lt;/code&gt; and &lt;code&gt;elif&lt;/code&gt;! &lt;br&gt;
I knew how to use them, but I couldn't explain it without confusing myself. &lt;/p&gt;

&lt;h2&gt;
  
  
  Teaching forces your outside your comfort zone.
&lt;/h2&gt;

&lt;p&gt;To my horror, I had to do the unthinkable. I had to use the internet in front of my students. But this is a good thing! It's important for newbies to see even experienced programmers still look things up. This would be a great troubleshooting opportunity for them. They also need to see people they look to for help handle themselves under pressure. After a few minutes, I figured out where my confusion was. An &lt;code&gt;if&lt;/code&gt; statement checks if a condition is true or false. If it's false, this is where the &lt;code&gt;elif&lt;/code&gt; comes into play. An&lt;code&gt;elif&lt;/code&gt; block behaves independently from &lt;code&gt;if&lt;/code&gt; statements, which means they will check some other condition if our initial &lt;code&gt;if&lt;/code&gt; block is false. I was able to bring most of the students to an understanding, and I helped others individually who were still stuck. &lt;/p&gt;

&lt;h2&gt;
  
  
  Teaching, however small, makes a difference.
&lt;/h2&gt;

&lt;p&gt;Sadly, the coronavirus cut our weekly sessions short. As much as I would like to believe my students were there to be the next generation of brilliant engineers, I assume most just wanted to have something to do, and a free Raspberry Pi. On my last day, the same student who asked me about &lt;code&gt;if&lt;/code&gt; vs &lt;code&gt;elif&lt;/code&gt; all of those weeks before that because of that one instance, she wants to go to university to be a web developer in her home country. Her high school here had a CS class, but she mentioned she found the material really dry and difficult to connect with. I, she told me, made it fun. I don't consider myself to be a particularly great programmer, but even moderate CS students like myself can inspire. &lt;/p&gt;

&lt;p&gt;I highly encourage everyone to take the time to teach someone something at some point. It doesn't take a genius. All it takes is patience, positivity, and some self-deprecating humor when necessary. Teach a teammate, friend, family member, or a stranger. You never know who you might influence. &lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>productivity</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Java ArrayLists: A Dead Easy Tutorial For Absolute Beginnners</title>
      <dc:creator>Nick Shattuck </dc:creator>
      <pubDate>Sat, 14 Dec 2019 17:17:18 +0000</pubDate>
      <link>https://forem.com/tacomanick/java-arraylists-a-dead-easy-tutorial-for-absolute-beginnners-8ig</link>
      <guid>https://forem.com/tacomanick/java-arraylists-a-dead-easy-tutorial-for-absolute-beginnners-8ig</guid>
      <description>&lt;p&gt;Greetings Dev community! I thought I would finally try my hand at writing a series of tutorials in Java. But wait why Java? Isn't it like from the 90's? The reason I choose Java is because it's what I am learning in school, and I am willing to conjecture that many other students and beginners have at least had a few classes or tutorials using Java. Personally, I find Java to be really fun to develop with. Yes, it's old, but it's aged like a fine wine. I'm also a product of the 90's; a retro-millennial if you will. Java is still very current, and you can build a multitudinous repertoire of projects with it ranging from simple CRUD applications, Android apps and then some. &lt;br&gt;
Additionally,  writing is also a great way to solidify your understanding of a topic and I thought it would help me keep my Java fresh. Mind you, I am still a student, so if I make any grievous errors, kindly point it out to me so I can make any necessary edits. My aim is to provide other beginners in the Java/programming world a series of easy tutorials on one of the most common data structures used in Java: Array Lists. In this tutorial, I will briefly talk about what ArrayLists are, and demonstrate 3 basic CRUD operations with provided examples. &lt;/p&gt;
&lt;h3&gt;
  
  
  What is an ArrayList?
&lt;/h3&gt;

&lt;p&gt;I'm assuming that you've had some introduction into classes, polymorphism, and interfaces, but since I am a beginner myself let's take a brief moment to look under the hood.  Officially an ArrayList class is an array-based implementation of the List interface. This rather cryptic definition basically means that an ArrayList is a class that defines the empty methods in the List interface. Thankfully, the Java gods were kind enough to define these methods for us mere mortals, so ArrayLists aren't as complicated as they initially seem. Let's start with the basics. To declare an ArrayList, simply do the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

 &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;We have a few things happening here. Firstly, we've declared an ArrayList object called list. But Nick! I hear you cry. What in the world is ? ArrayLists actually store generics.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;    &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="no"&gt;T&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;();&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;T is whatever object you wish to store in it. In my example, I decided to store Strings, but you can put any type of object inside of list that you like. For example, you could delcare&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

 &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;or...&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

&lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Double&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;();&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;The list goes on (pardon the pun). For now, I will focus on using Strings, but I encourage you to play around with other object types. &lt;/p&gt;

&lt;h3&gt;
  
  
  Adding to an ArrayList
&lt;/h3&gt;

&lt;p&gt;The ArrayList class comes with some predefined methods for CRUD(CREATE, READ, UPDATE, DELETE) implementation features. Adding elements to an ArrayList is pretty straight forward.  Allow me to introduce to you the add(E e) method, where E is the element we want to add.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

 &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;When I compile this, I get the following output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;Java&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;What I've done here is added a String object with the value of "Java" into the ArrayList. Printing it, notice that it looks like an array!&lt;br&gt;
We can add as many elements in the ArrayList as we want (well, as much as your computer's memory can handle!), so we can think of the size of the &lt;br&gt;
ArrayList as size n. Let's add a few more values into the list.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;  &lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Python"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Kotlin"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"JavaScript"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
  &lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Ruby"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Now when I print this, I get the following output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

 &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Python"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Kotlin"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"JavaScript"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Ruby"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Now when I print this, I get the following output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;  &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;Java&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Python&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Kotlin&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;JavaScript&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Ruby&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Updating the list
&lt;/h3&gt;

&lt;p&gt;Sometimes we might want to update something inside of our ArrayList. Updating ArrayLists are straight forward. Let's say now that we've added a few elements to list that we want to make a few updates. Updating a list is handled using the set(int index, E element) method. Let's say I want to modify JavaScript to display "React".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

 &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Python"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Kotlin"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"JavaScript"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Ruby"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"React"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Now when I print this, I should see the desired edit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;Java&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Python&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Kotlin&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;React&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Ruby&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Be careful! Elements in an ArrayList are off by a value of one. This means that Java is at index 0, not 1! If you don't believe me, I'll prove it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt; &lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Oops!"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 

&lt;span class="c1"&gt;//Output &lt;/span&gt;
 &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;Java&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Oops&lt;/span&gt;&lt;span class="o"&gt;!,&lt;/span&gt; &lt;span class="nc"&gt;Kotlin&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;React&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Ruby&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Python is at index 1, but we might have intended to change Java to "oops!". This is a common mistake amongst newbies (myself included), so just keep that in mind. &lt;/p&gt;

&lt;h3&gt;
  
  
  Deleting from ArrayLists
&lt;/h3&gt;

&lt;p&gt;Finally, I will introduce you to the remove() method. With remove(), you can remove the index of the elements, or Objects itself. But they both accomplish the same effect!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

 &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Python"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Kotlin"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"JavaScript"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Ruby"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"React"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;//Remove index zero&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;remove&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;//Output&lt;/span&gt;
 &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;Python&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Kotlin&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;React&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Ruby&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Here I am removing the index 0, which contains the String "Java". Java has been removed. Similarly, we could also do the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

 &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; 
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Python"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Kotlin"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"JavaScript"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Ruby"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;set&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"React"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;//Remove index zero&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;remove&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;//Output&lt;/span&gt;
 &lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="nc"&gt;Python&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Kotlin&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;React&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;Ruby&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Notice that this produces the same result. The only caveat is that this way of removing from the list returns a boolean, whereas removing the index returns E or the element at the specified index. If the object is present in the list, then it will be removed. If I try to remove an object not present in the list&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight java"&gt;&lt;code&gt; &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;remove&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"HTML"&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;//returns false&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;This is because HTML is obviously not in the list. For more information, checkout the official documentation for more methods and functionalities of ArrayLists. I hope that this has been informative and has provided an easy transition into the more advanced features of the Java language. In future tutorials, I'd like to play around with creating some custom objects to demonstrate some of the more flexible features of ArrayLists. Please leave any &lt;br&gt;
questions or comments below, and I will be happy to answer them! &lt;/p&gt;

</description>
      <category>java</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>What is the difference between a Library vs A Framework?</title>
      <dc:creator>Nick Shattuck </dc:creator>
      <pubDate>Fri, 06 Dec 2019 18:36:59 +0000</pubDate>
      <link>https://forem.com/tacomanick/what-is-the-difference-between-a-library-vs-a-framework-16ik</link>
      <guid>https://forem.com/tacomanick/what-is-the-difference-between-a-library-vs-a-framework-16ik</guid>
      <description>&lt;p&gt;I see these terms tossed around a lot. I've Googled them myself but the explanations I find are very cryptic.  Would anyone mind explaining (simply if possible) what the differences are? &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>help</category>
    </item>
    <item>
      <title>Light Or Dark Theme? That is the question. </title>
      <dc:creator>Nick Shattuck </dc:creator>
      <pubDate>Fri, 29 Nov 2019 18:00:42 +0000</pubDate>
      <link>https://forem.com/tacomanick/light-or-dark-theme-that-is-the-question-5f2m</link>
      <guid>https://forem.com/tacomanick/light-or-dark-theme-that-is-the-question-5f2m</guid>
      <description>&lt;p&gt;I thought I would post a quick discussion since it's the holiday weekend and I don't have time to write a full article. So, what do you prefer? Light or dark? &lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>Productivity &amp; Motivation Tips For Programmers Working From Home &amp; Students Making The Grind To Graduation. </title>
      <dc:creator>Nick Shattuck </dc:creator>
      <pubDate>Sun, 24 Nov 2019 03:01:20 +0000</pubDate>
      <link>https://forem.com/tacomanick/productivity-motivation-tips-for-programmers-working-from-home-students-making-the-grind-to-graduation-2iae</link>
      <guid>https://forem.com/tacomanick/productivity-motivation-tips-for-programmers-working-from-home-students-making-the-grind-to-graduation-2iae</guid>
      <description>&lt;p&gt;Learning to be an effective student and programmer has taken me a lot of time, patience, frustration, and grit but over the past few months. During that grind, I have learned a few strategies that help me stay on task, and I thought it would be a great idea for a first post! A little about me. I'm a computer science student and programmer attending school online. Not a sleazy for profit, but an accredited school with a solid degree. I work a lot from home, and when I am not buried in my computer, I'm a stay at home dad of a wily 2-year-old girl. &lt;/p&gt;

&lt;p&gt;Working at home can be challenging because, well, it's home. You'd rather be playing video games, reading, relaxing or basically anything not coding related. It's been equally challenging for me as a parent because sometimes you can't always get as much done as you'd like, which means as your deadlines loom, you have to put in extra hours (sleep, I miss you). I am wrapping up my first year as a student and would like to share some of the tips I've learned that keep me on task, even when I'd rather be doing something else. Let's get started. &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1. Find a decent alarm app.
&lt;/h3&gt;

&lt;p&gt;I like to be up early. Sometimes it's the only quiet time I get at home, so I need an app that's really annoying. I like this app, &lt;a href="https://play.google.com/store/apps/details?id=droom.sleepIfUCan&amp;amp;hl=en"&gt;Alarmy&lt;/a&gt;. What's really cool about it is that each alarm has a "mission" you can do to turn off your alarm. For example, you can set a mission to take a picture of some household items, say your favorite coffee mug. The alarm won't shut off until you take a picture of that mug, meaning you need to get out of bed. You can also enable a "shake" mission, which is what I use. You can add custom alarm tones, which I love because I program really annoying songs that I get to shake the daylights out of every morning. There are loads more out there, but this is the one I use. It's also free, which is easy on the wallet. &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2. Get dressed.
&lt;/h3&gt;

&lt;p&gt;This is more of a personal preference because I don't like being in my pj's all day. It doesn't have to be suit and tie, but something you enjoy and feel comfortable in. Getting dressed makes me feel good, look good, and if I ever have an interview for an internship or job, I have the confidence knowing that even if I bomb it, at least I look rather dapper. Also, I have to leave the house, so looking good makes me &lt;em&gt;want to go out&lt;/em&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3. Learn how to study
&lt;/h3&gt;

&lt;p&gt;This is for students and professionals because, as programmers, we're always learning new technologies. This is also a tough one because learning how to study may be different for everyone. But this is something I just learned how to do very recently. I have ADHD which makes learning one or many skills more challenging because my brain is constantly looking for new stimuli, so I have to devise techniques that make studying more like a game rather a task. Here are a few of the tricks I like to use: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use multicolored flashcards for terms &amp;amp; vocabulary.&lt;/strong&gt; The reason I like a variety of colors is that I can interchange them when making a lot of monotonous vocab cards. It keeps me from getting bored, and I am actively studying instead of passively writing terms. They are also great for jotting down quick notes, which leads me to my next bullet point.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write notes in your own words.&lt;/strong&gt; I used to passively take notes, jotting down every sentence, term, or random line of information that I thought might be useful. It never worked for me, and come test time, I performed poorly. You also lose valuable time and energy. Instead, whenever your reading a textbook or documentation and you would like to write down a few notes, &lt;em&gt;write them in your own words&lt;/em&gt;. This enables you to analyze your reading and actively engage in your understanding. It also helps you understand what you don't understand, or at the very least, help understand that you don't understand. That way when you ask for help, you have your own work to show your teacher or coworkers where you are stuck. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 4. Learn to embrace failure.
&lt;/h3&gt;

&lt;p&gt;This is the hardest one for me. I grew up in an environment where failure was harshly punished. So I learned instead to play it safe, and not pursue anything I felt was too challenging. I didn't consider computers and math as a potential career path when I was younger because while I enjoyed it (even though I was pretty mediocre at math) it was hard, so I never tried.  Failure sucks, but it's a natural part of life, our jobs, and our studies.&lt;/p&gt;

&lt;p&gt;I have an infinite loop's worth of calculus quizzes that I still check under my bed at night for, and I bet I'm going to bomb a few whiteboard interviews (but at least I will look good) when I start applying to jobs.  But I've also learned more from my failures and shortcomings than I ever have from getting something right on the first try. Sure, failure can kick you in the teeth sometimes, but it can also motivate you to improve. College and learning to code have a lot in common in that it's a grind. You have to be willing to accept that you're going to make mistakes. It's certainly made me a lot happier and gives me an odd sense of confidence that when I do fail, I will eventually emerge a wiser person. &lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5. Allow yourself to take a break.
&lt;/h3&gt;

&lt;p&gt;Seriously, your body and sanity need it. Never mind how passionate you are, sometimes the best way to solve a problem is to tell it &lt;em&gt;I love you, but I need a little space right now&lt;/em&gt; and go exercise, go for a drive, have a coffee, or my personal favorite, make yourself some cupcakes. I actually schedule a few breaks throughout my day. I use this time to clean, do laundry, play with my daughter, read, run to the store or play Smash Brothers on the Switch with my wife. It helps to have a fresh state of mind when I come back to a nasty bug I can't figure out or continue studying with a super boring class. Realize that while we love coding, we need to be humans. Humans have needs, like cupcakes, that aren't going to bake themselves until you allow yourself to take breaks. &lt;/p&gt;

&lt;h4&gt;
  
  
  Conclusion
&lt;/h4&gt;

&lt;p&gt;I share a novel's worth of tips and tricks that I use that have to lead me to big and small successes, but I am going to wrap it up. I encourage everyone to share your thoughts and tips in the comments below because maybe I didn't address something that you think can further the discussion. I hope that this helps you find success in your learning and studies, and as always, happy coding. &lt;/p&gt;

&lt;p&gt;-Nick&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>computerscience</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Am I too green to contribute to open-source? </title>
      <dc:creator>Nick Shattuck </dc:creator>
      <pubDate>Fri, 21 Jun 2019 19:13:13 +0000</pubDate>
      <link>https://forem.com/tacomanick/am-i-too-green-to-contribute-to-open-source-2pb3</link>
      <guid>https://forem.com/tacomanick/am-i-too-green-to-contribute-to-open-source-2pb3</guid>
      <description>&lt;p&gt;I am really interested in contributing to the open source community, particularly with Mozilla. A little about me: &lt;br&gt;
I am a CS student with about 1.5 years from graduating.  Mozilla is my "dream job", but I am merely a beginner in the front end scene. I'd like to get ahead early but I have hesitations. Firstly, I only learned HTML and CSS this year, and I feel like I am just now starting to understand how to use both technologies. I am also new to JavaScript, most of my knowledge of it comes from freecodecamp's curriculum and a few very basic projects I have done in my own time. I seem to pick it up fairly quickly.My learning pace is a little slower than I would like, but it's largely due to balancing school life and personal projects. &lt;br&gt;
I attend meetups, I read just about any book on programming I can afford to get my hands on, occasionally solve code challenges on Leetcode (which I find boring but it's how you land a job), but even with all this, I feel like I am just not "there yet". Any thoughts or pointers would help! &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
  </channel>
</rss>
