CST 338 Week 8

It’s our final week in Software Design! Our final was fairly open–use at least one of the concepts we learned in the class. Since we barely got a taste of Android Studio, I decided to make a simple Android game. I learned a lot about implicit and explicit Intents. If I had more time this week, I would go deeper into the tutorials for this assignment. I would definitely like to continue the humble game I created for the final this summer.

I am excited to announce that I have officially filed the paperwork for a year-long leave of absence from teaching so I can put 100% of my attention on my CS degree and my internship coming up this summer.

CST 338 Module 7: Android App Development

Have you ever created an app before, either for Android or iPhone?  How did it go?

I have been meaning to learn Android Studio and Swift development for some time now, so I am glad we got the opportunity. I was supposed to use Android Studio during the last Hackathon I attended, but the team I had formed and made this plan with dropped out last minute. I had a lot of fun learning app development with Android Studio. It is very similar to what I use to teach my Computer Science Principles class (App Labs on Code.org), so I am glad they get that experience as well.

Do you have any ideas for apps that you could create for recreation?  What about business?

As I mentioned, I had a plan with a Hackathon group to create an app on Android Studio. I would still like to do it! The idea was for a game that navigates through a female protagonist’s barriers in “making it” in the tech industry. As for business, I would be interested in fleshing out “Call Out” — the web-based environment for women I helped develop for HackXX.

Update your learning journal from what you experienced this week with class. 

Between this class and AP tests coming up for my students, this week has been very busy! But I am incredibly glad that I got to do some practical Android app development. I learned how to create multi-screen apps using Intents and Activities.

Week 6 CST 338: Multithreading

What experience do you have with UML diagrams?

I use a simplified version of UML diagramming with my AP Computer Science A students, so I am familiar with the concept of representing has-a and is-a relationships with a UML diagram.

Are they used at your workplace?

Yes, I use them with my students. I am curious to see if, when I begin my internship with Qualcomm, if they use UML diagrams or something similar.

Have you done multithreading in any language before?

I guess I have with physical computing (Arduino) without realizing it was multithreading. This is the first time I used multithreading with the full understanding of what I was actually doing. I really enjoyed learning about this concept.

Did you find Patterns to be helpful? 

Yes, I found the MVC (Model-View-Controller) pattern helpful, although I had to figure out which features of the timer to integrate in which component. Ultimately, I decided the Timer class (which extends Thread) should be declared as an inner class within the Controller class since the multithreading should occur at the Controller level.

Update your learning journal from what you experienced this week with class. 

I had a lot of fun learning about multithreading and different patterns (although the focus what just on one pattern–MVC). I felt like my approach to this week’s group assignment was much more effective. Being in charge of integrating a timer that uses its own independent thread, I decided to create a simple timer using the MVC pattern that at first only displayed to the console. Then, I worked up to using Swing to make a GUI timer with a START button. After I got this working, I worked towards integrating it with the base project that one of my partners laid out. It went pretty smoothly!

Week 5 CST 338: Java GUI with Swing

GUI is learned late in the game with Java.  Do you think this is helpful or harmful and why? I don’t think GUI necessarily has to be learned late in the game with Java. In fact, in some ways it is harmful to hold off on programming GUIs because many students want to make a “real” program like the ones that they use in their daily lives, which usually have GUIs. I feel like many young students are turned off by introductory programming classes because they do not get the sense of achievement of creating what looks like a “real” program right away. However, I do see the merits of establishing a good background of the fundamentals before approaching GUI programming.

Why do think that coding the Swing elements in Java would be more difficult compared to some other languages? I think the biggest drawback of coding Swing elements is the fact that it is quickly becoming outdated by the newer JavaFX.

Update your learning journal from what you experienced this week with class. This week our group started using Trello to better divide up and prioritize tasks. This made our teamwork stronger and the project easier to manage.

This week was also exciting because I attended HackXX at UCSD–a women-centric hackathon that took place within a 24 hour period. I arrived without a team, met some amazing people to team up with, and our project won first place!

In other news, this past week I had the opportunity to interview with Qualcomm. I went through three 30-minute back-to-back phone interviews with people from their Enterprise Project Management Office (EPMO) and then I was invited to meet with them for coffee on site. It was an amazing and welcoming experience, and I am proud to announced that I will be interning with this team over the summer for 14 weeks!