In February of 2018, I was denied admission to a Ph.D. program in Linguistics. As I was navigating the application process, I simultaneously revisited a dormant interest in computer science. In March I enrolled in a certified Computer Science class via HarvardX, which I completed four months later. I am at the beginning of a new phase in my life-long learning process and look forward to that which the future will inevitably deliver.
Sunday, April 29, 2018
Metasyntactic Boolean Riddles
I just completed my first in-depth and comprehensive computer programming course on Udemy! The course consisted of 149 unique lectures. I'm going to take a short break (coffee) and dive into another course. Here's to moving ever forward!
Saturday, April 28, 2018
Local Guides Summit 17
Last year, I was among the 151 blessed souls fortunate enough to attend the Local Guides Summit in Mountain View, California. For two and a half days, we met and worked with a wide variety of Googlers. When we were not engaged in all things related to Google Maps, we were set free to explore San Francisco. To say that it was a life-changing event would be a travesty.
Friday, April 27, 2018
Pointers
Spending the evening focusing entirely on C. Just finished a fun tutorial on pointers.
// Using pointers in C/C++
#include <stdio.h>
void main()
{
int a = 14;
int* p = &a; //Declares int pointer (p) pointing to (a)
// Where does (a) live in memory?
printf("Address for a is %p\n", &a);
printf("Address inside p is %p\n", p);
if (p == &a)
printf("P is point to a!\n");
else
printf("P is NOT pointing to a!\n");
}
// Using pointers in C/C++
#include <stdio.h>
void main()
{
int a = 14;
int* p = &a; //Declares int pointer (p) pointing to (a)
// Where does (a) live in memory?
printf("Address for a is %p\n", &a);
printf("Address inside p is %p\n", p);
if (p == &a)
printf("P is point to a!\n");
else
printf("P is NOT pointing to a!\n");
}
Tuesday, April 24, 2018
Polymorphism is starting to make sense...
I'm about 65% of the way through a Java course via StackSkills and polymorphism is starting to make sense.
One of the slides from the course taught me the following;
One of the slides from the course taught me the following;
A superclass type can always be cast to the type of one of its subclasses. This is called “downcasting”.
The ultimate root class in Java is Object. An object of type Object can be downcast to any type (class) that descends from Object.
The ability of a class to be cast to the type of one of its subclasses or descendants is terms polymorphism.
Saturday, April 21, 2018
My first game in Java!
I found an amazing tutorial for writing a brick breaking style game in Java. I walked through the video, typing all of the code, and was able to fully reproduce the game! In some respect, I suppose it's similar to tracing a drawing, but either way, I am so happy with the results. My first hello world app took me about 90 minutes to finish. I finished the game in about two hours.
// Main.java
/*
* This amazing Java game was written by Austin Craver
* by following and coding along with a 57 minute tutorial.
* Special thanks to Awais Mirza for taking the time to create
* and share such a helpful and informative video!!! *
*/
package breakerGame;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
// Creates frame for game
JFrame obj = new JFrame();
Gameplay gamePlay = new Gameplay();
obj.setBounds(10, 10, 700, 600);
obj.setTitle("Breakout Ball");
obj.setResizable(false);
obj.setVisible(true);
obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
obj.add(gamePlay);
}
}
// Main.java
/*
* This amazing Java game was written by Austin Craver
* by following and coding along with a 57 minute tutorial.
* Special thanks to Awais Mirza for taking the time to create
* and share such a helpful and informative video!!! *
*/
package breakerGame;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
// Creates frame for game
JFrame obj = new JFrame();
Gameplay gamePlay = new Gameplay();
obj.setBounds(10, 10, 700, 600);
obj.setTitle("Breakout Ball");
obj.setResizable(false);
obj.setVisible(true);
obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
obj.add(gamePlay);
}
}
Friday, April 20, 2018
Scanner Friday
Another zany Friday night learning more about the fine art of computer science. Tonight I am focusing heavily on Java. For fun, and to "take a break" I'm taking a course in video production through Udemy. Despite being a very introductory course, I was able to learn a few things and that was nice. More coffee, please.
Wednesday, April 18, 2018
IntelliJ and Variables
I'm really starting to enjoy using IntelliJ. The design is elegant and intuitive, and the functionality is top notch. Coupled with a complimentary course from Microsoft, I am learning the Integrated Development Environment as well as Java. Such a lovely combination.
Tuesday, April 17, 2018
Hello Java
I am currently enrolled in a variety of computer science courses, one of which is focused entirely on Java. I'm writing this post to serve as a digital mile marker. As with so many other courses, one of the first tasks was to write, build, and run a Hello World app. The build went fine, however, I could not run the program. I am new to IntelliJ and had to configure the Java Runtime Environment (JRE). It took me longer than I would like to admit. Just the same, here I am, publically admitting it. Why? Because I am a passionate life-long learner, and mistakes are great teachers. That, and I'm really happy that I was able to figure it out. And now, I know how. It's now and forever one more thing that I've learned on my path to becoming a computer scientist. The feeling that I get from those moments of success is a large part of the reason that I am on this current path. I love overcoming such challenges. I cannot wait to be able to envision something and take it from my mind, through the computer, and into cyberspace.
Convos with SlackBots
I just discovered Slack and SlackBots. My introduction was brief and I will have to return to the API later on. Here's to the continual pursuit of knowledge!
Sunday, April 15, 2018
Merge Sort - Pseudocode
Merge Sort Pseudocode
void mergeSort( pass-by-reference int [] list) //method for initial call
int n ← list.length int[] temp ← new int[n] //creates a temporary
utility array
mergeSortHelper(list, 0, n - 1, temp)
end mergeSort
void mergeSortHelper ( pass-by-reference int[] list, int front,
int back, pass-by-reference int[] temp )
if (front < back) //if front and back are not equal and have not
Saturday, April 14, 2018
Holistic Serendipity
Being on the right path and doing the next right thing has brought me to an amazing place in life. My experiences are stacking up at such a rapid pace that I need to remind myself to stop and document more of them. For example, I volunteered to assist with the Visual Performing Arts (VPA) interviews at the school where I teach. That was last night. Today, I am attending training for redesigning and rewriting the curriculum for my school district. At one point we broke into small groups. Two of the three people in my group were at my school last night, also helping with the VPA audition process. At lunch just now, I stop to get gas and some pizza. The clerk at the gas station also works as a bus driver, and my campus is where he picks up. While enjoying my pizza, I decided to drive around and listen to the radio. There's a local group I've been wanting to check out and had only heard of where they meet. As I'm driving, a building caught my eye, and the sign revealed that it was the exact building where the meetings take place.
Friday, April 13, 2018
JavaScript and jQuery
Progress! My ever-growing to-do list now has one more thing checked off, a brief introductory course in JavaScript and jQuery. It was designed well and tasked the user with coding along. I can't wait to see how much progress I am able to make this summer. Ever forward!
Syntax Diagrams
I dedicated some time this afternoon to studying syntax diagrams. I love the aesthetics of them, and find them so fascinating.
Thursday, April 12, 2018
Object Oriented Programming
I was really surprised to have finished week 4 of the Foundations of Computer Science for Teachers through UT. Week five promises to further elucidate Object Oriented Programming (OOP). After week six, there are mini lessons on digital forensics, games, and mobile programming. Here's to moving in one direction, ever forward!
Wednesday, April 11, 2018
Hugging the Branches of a Binary Tree
After spending some time learning about stacks, queues, and linked lists, my computer science course brought me to traversing binary trees and hugging the branches.
Monday, April 9, 2018
Sorting out Arrays...
As I am at the very beginning of my adventures in coding, the following may seem simple to the more advanced coder. Nonetheless, it is where I am in my journey. The task as a whole is starting to make sense, but as I'm working my through the quizzes, I'm still missing several questions. At any rate, I am really enjoying this adventure and will be continually reflecting upon my learning.
---------------------------------------------------------------------------------
Assume that there is a function len that returns the length of a given array. Now consider the following definition for the function combine:
int[] combine( int[] list1 , int[] list2 )
int[] result ← new int[ len ( list1 ) + len ( list2 ) ]
for (int i ← 0; i < len ( result ) ; i ← i + 1)
// loop body
end for
return result
end combine
Which of the following loop bodies will result in the combine returning a new list with the contents of list1 preceding the contents of list2?
if ( i < len ( list1 ) ) result[i] ← list1[i] else result[i] ← list2[i - len( list1 )] end if
Explanation
When copying the contents of list2, each element must be copied from list2 starting at its first index. However, to achieve that first index we must "remove" the length of list1 from the current index where we are storing the copied values in order for the array index to artificially "start over" at index 0 in list2.
The sample question from above was copied/pasted from https://courses.edx.org
Sunday, April 8, 2018
Common Data Structure Operations
I dove into the rabbit hole, and once inside, discovered that there an infinite number of additional rabbit holes awaiting my arrival. One of them found me studying the ideas behind the Big-O.
Image from: http://bigocheatsheet.com
Saturday, April 7, 2018
Keywords for a Resume / CV
Adaptable
Analytical
Collaborative
Communicator
Creative
Curious
Insightful
Organized
Persuasive
Problem-solver
Relationship expertise
Results-driven
Team player
Technologically savvy
Enthusiastic
JavaScript - Reserved Keywrods
Saturday morning. Temperatures outside are near freezing and there's a chance of snow. I'm enjoying cinnamon coffee and an introductory course in JavaScript and jQuery.
Reserved words in JavaScriptQuestion: What reserved words are there in JavaScript?Answer: Reserved words of the JavaScript language are listed below. (Some of these words are actually used in the Java language, and are reserved in JavaScript for compatibility purposes or as possible extensions.)When choosing names for your JavaScript variables, avoid these reserved words!
|
Friday, April 6, 2018
Computer Programming Errors
I got the following information from a lesson on Udemy, from the course Foundations of Computer Science for Teachers.
Bug/Error
Thursday, April 5, 2018
Teaching Certification
I registered to take the Computer Science teacher certification exam today. Having viewed the study guide, I can clearly see that it is going to be intense and comprehensive. Here's to moving in one direction, ever forward!
Monday, April 2, 2018
Checking Blood Pressure code...
I'm really enjoying learning to write code. Thanks to a video that was less than ten minutes, a few missing semicolons, and about 30 minutes, I was able to produce the following code!
*/This code was written by Austin C.as part of | |
following along a video tutorial in a course through Udemy. | |
I'm just now learning to code. | |
*/ | |
Sunday, April 1, 2018
Brand Name Overload - Simplified
I found a great article explaining the various aspects of development. In a succinct way, the author explains source code management, text editors, application development products, and Integrated Development Environments (IDEs). Being new to the art of computer programming, it's easy to fell overwhelmed.
Follow the link below for the full article.
Gratitude Unending
Yesterday I was gifted a technological super gift beyond my highest hopes and expectations. Sitting at the top of the list of awesome is an Acer Nitro 5 gaming laptop. I did a full install of Visual Studio 2017 and holy cow, is it amazing!!! Here's to moving ever forward into the future!
Subscribe to:
Posts (Atom)
SQL
I've hit a wall in my SQL studies via the Khan Academy, and as such, I am engaging in additional studies prior to attempting to move for...
-
I'm studying intermediate programming in Python and the DataCamp course I'm taking is using Google Sheets. All of the following info...
-
I found an amazing tutorial for writing a brick breaking style game in Java. I walked through the video, typing all of the code, and was ab...