Friday, January 29, 2021

CST 300: Week 4

Educational Goals

I have always believed that a bachelor's degree is the minimum educational requirement. Recently, however, I have begun to shift my focus to a master's degree. If I decide to continue my education, I will apply for CSUF's online master's degree program in software engineering (although I am considering alternatives). In the meantime, my focus is entirely on this bachelor's degree program. For the next 96 weeks my goals will be to complete my assignments, maintain a high GPA, and never let my team down. Even though we've just begun, it feels motivational to know I will be graduating next year.

Career Goals

Due to recent events in my life, I have decided that I want to be a teacher. It excites me to think about teaching introductory math or computer science. I believe our community needs more teachers, and I feel as though my unique life experiences can bring a lot to the table when teaching and mentoring young adults. With a bachelor's degree I can teach high school, adult school, or in prison. With a master's degree I can teach community college. I have no desire to go farther than that because I want to focus on at-risk groups, e.g. students who may be on the verge of going down the wrong path in life. I believe people can be saved with the right education and mentorship.

ETS Computer Science Test

The ETS Major Field Test for Computer Science looks like it will provide a good assessment of my overall computer science knowledge. I am worried that there is a 2 hour time limit, but it helps that the questions are all multiple choice. If I were to blindly take the test right now, I'd probably (hopefully) get in the 70% range. I hope that in 18 months I can be somewhere closer to 90%. Discrete mathematics will be the toughest area for me and it makes up a significant portion of the exam.

Keeping Up

I have never thought about personal mission statements. I have seen summaries or statements of purpose on resumes and professional sites, but I don't recall being instructed to make statements which include personal values and beliefs. This week I formed a mission statement using the provided tips:

To seek liberty through truth, to spread truth through education, and to set an example for my family and my community.  

Monday, January 25, 2021

CST 300: Week 3

Time Management

In my last reflection I mentioned that I have an issue with time management. This week I read an article on how to solve the problem. Here are some tips to help you (and me) succeed.

The first step in managing your time effectively is to learn how you currently spend your time. A personal time survey should be taken that includes all activities performed over a week, including sleeping, hygiene, and travel. The survey will help you identify time wasters in your schedule. Next, you must determine how much study time you need. A good rule of thumb is to study between two and four times longer than you spend in class. For example, an easy 3 unit course will require about 6 hours of study outside class, while a challenging 4 unit course may require up to 16 hours of outside study. 

Once you have calculated how much time you need to study, you should create a daily schedule that blocks off all activities (including breaks). Ensure that the schedule is realistic so that you do not become overburdened. If necessary, lighten your load or reduce time spent in other areas, including working fewer hours if financially possible. Other tips include saying no to friends, prioritizing activities correctly, and combining as many activities as possible. Saying no to friends is challenging for me but I have finally begun doing it. School must take priority over playing video games and hanging out.

Ethics and Technology

I did not realize how many ethical questions relate to technology. Does computing marginalize people like the elderly, disabled, and poor? It's well known that elders are more likely to be technologically illiterate, but I had not considered that they may be marginalized in a technology-based society. How will technology affect the job market? Will low-skilled workers be replaced? I had not considered that technology and AI could increase the unemployment rate. We must choose carefully and wisely before allowing technology to take over parts of our lives. 

The TED talk about the ethics of artificial intelligence was interesting to me. I was not aware that technology is being used to scan facial features and reactions for truth-telling. I already take issue with machines like the polygraph being used to falsely accuse people of lying, so I am not a fan of technology being used for for this purpose in general. I also was not aware that machine learning is being used in the hiring process or, troublingly, in the sentencing process for criminals. It's not right that algorithms are hurting people by making assumptions about them. That reminds me of the movie Minority Report in which technology is used to arrest people before they commit their crimes. As Ms. Tufekci noted at the end of the talk, "we cannot outsource our moral responsibilities to machines."

What Every Computer Science Student Should Know

Professor Matt Might lays out a comprehensive list of what every computer science student should know before entering the job market. He appears to have a traditional view of the computer science curriculum, placing heavy emphasis on physics and math. I believe that modern curriculums do not need to emphasize them as much and should leave them for students who plan on specializing in those areas. It is possible to work in this field without being a physicist or mathematician, although your opportunities will be fewer.

I do agree with Professor Might's opinion that students should be familiar with Unix-like systems. I think the Windows operating system is restricting for computer science students, and I felt like my knowledge of computers expanded when I started using and programming on Linux. I like that he encourages students to learn how to administer and troubleshoot their computer systems and networks. You can't write or push code if your system is down. Professor Might's vision of a well-rounded computer scientist is something that all students should take into account.

Thursday, January 14, 2021

CST 300: Week 2

Part 1: Review and Reflect Learning Strategy

Overview

  • Effective study techniques are necessary for the success of any student. Time management in particular can be killer. Procrastination triggers an immediate reward response, while the thought of studying can invoke a dreadful feeling. However, the feeling after completing assignments is much greater than the feeling of procrastination (which is accompanied by a feeling of impending fate).
  • The provided document outlines many great techniques for studying. The SQ3R method is one of which I was not aware, although I tend to follow a similar method by default. Techniques for studying have been drilled into my head my entire life, although admittedly there are areas in which I still struggle.
  • I agree that there is no magic formula. The tips outlined for studying are only useful for students who plan on implementing them. Success depends on individual drive.

Where I excel

  • I always read quickly and with a purpose. Only the most important details from each paragraph are extracted. I skip over extraneous information, but I am careful to make sure I scan all places where relevant information may reside (such as in captions or footnotes).
  • Although I am not able to type as quickly as I used to due to a physical limitation, I can still type quickly enough to take effective notes during lectures. I excel at listening to a lecturer and selecting important information to type. I also type questions as they come to my mind so that I can find answers later. 
  • My notes are digitally organized and backed up. I use folders to separate classes, assignments, notes, and other documents. I have a habit of reorganizing and summarizing my notes for study purposes. I do not use flash cards unless mandated (such as for use on an exam).

Where I struggle

  • I, like many others, struggle with time management. I have managed to survive academically thus far, but I really should adhere more strictly to my own schedule.
  • It is recommended not to study within half an hour of sleep. I have, on many occasions, stayed up late studying or finishing an assignment while deliberately fighting the urge to fall asleep.
  • Taking breaks every 30-40 minutes is a great idea. I have long known that lengthy study sessions are not recommended because information may not be retained well. Despite this I still tend to study and work on assignments for hours-long stretches.

Part 2: Preview Time Management Skills (Activity Log)

Date/Time

Activity Description

Feeling

Duration

Value

01/13/2021 1:55 PM

Read “New Rules” and take quiz

Intrigued

10 minutes

High

01/13/2021 2:05 PM

Review PPT and take quiz

Frustrated

15 minutes

High

01/13/2021 2:20 PM

Peer review guidelines/quiz

Flat

10 minutes

High

01/13/2021 2:30 PM

Break

Fatigued

30 minutes

Medium

01/13/2021 3:00 PM

Read and respond to discussion

Rested

25 minutes

High

01/14/2021 12:30 PM

Read, take notes, and reflect (journal)

Alert

50 minutes

High

01/14/2021 1:20 PM

Break

Fatigued

10 minutes

High

01/14/2021 1:30 PM

Project management videos/response

Rested

35 minutes

High

01/14/2021 2:05 PM

Reflect on previous Capstones

Alert

45 minutes

High

01/14/2021 2:50 PM

Break

Fatigued

20 minutes

Medium

01/14/2021 3:10 PM

Work on weekly lecture/summary

Rested

1 hour

High

Part 3: Project Management Basics

A project is a temporary team effort which results in a unique, deliverable product. Projects are led by a project manager who must be strong in many areas such as leadership, communication, IT, and finances. Projects are usually split up into phases with milestones to be met before moving onto the next phase. These phases together make up the project life cycle. Unfortunately, the majority of projects are never completed. Failure to manage critical resources like time and money or failure to plan for potential future problems have led to the failure of many projects. A work breakdown structure or a Gantt Chart can be useful tools for breaking down the total scope of a project, tracking deadlines and dependencies, showing completion percentages, and (in general) organizing a potentially large and complex project.

Part 4: Previous Capstones

SimpliFit

  • This project was well done. The presenter was extremely passionate about his own fitness and created an app to help other people with theirs. A workout routine is provided for you which focuses on one (or all) of 4 core areas: pull, push, hinge, and squat. A video popup (linked to YouTube) shows you the proper way to perform an exercise. There is a login/register feature, but I am not sure of its usefulness since notes are stored locally.

Thermal Exhaust Port (TEP)

  • TEP is a visitor management tool that helps lobby operators record visits. The tool uses a simple website with a database. This project seems lazily put together, and I cannot find any usefulness for the service in its current state.

Stuff Ride

  • This was an amazing project and presentation. The app allows people to find other people to transport items for them. Users and transporters register for accounts and enter pertinent information. Users search by day/time to find available transporters. GPS provides real time tracking of the transporter.
  • The app is reminiscent of other delivery apps but (to my knowledge) is unique. Of the three apps, this one definitely takes the cake for best presentation and most useful product. It also is the most professionally done and the creators use of multiple frameworks was impressive to me.

Part 5: Weekly Summary

Predictions About 2021

  • The software development industry has boomed despite Covid-19. In fact, the lockdowns have helped speed up the digital transformation (which was already moving quickly). Some of the areas which stood out the most to me include cloud computing, quantum computing, and programming.
  • Cloud computing has taken center stage during the pandemic because many businesses have been forced to migrate to the cloud. Amazon Web Services is the current leader, but a “multi-cloud” initiative is on the horizon. Quantum computer is also on the move, with many governments and tech giants exploring it or investing in it. In 2020, Honeywell claimed to have created the most powerful quantum computer.
  • In the programming realm, Python is overtaking Java as the most popular general-purpose language. However, modern languages like Rust, Swift, and Go are also becoming more popular (especially for mobile development). JavaScript remains king for web development, but Microsoft’s TypeScript is an upcoming competitor.

Introduction to Project Management (2020)

  • The project manager is arguably the most important person related to a project. It is his or her responsibility to ensure the project requirements are met while staying within the provided constraints. The project manager is accountable for the success of the project and is responsible for not only their own actions but also the actions of their team members. He or she must have the ability to take on any project, must be able to handle multiple projects at once, and must have outstanding people skills. The project manager is the face of the project and must always be professional and ethical. To be successful, project managers must possess a wide range of skills such as leadership, management, business knowledge, and problem solving.

Final thoughts

  • This week has been challenging. I learned a lot about project management, an area in which I have no experience. I also learned a few new tricks for time management (such as keeping an activity log). The industry analysis paper is coming faster than I thought, but I am confident I will meet all deadlines.


Friday, January 8, 2021

CST 300: Week 1

This week begins my upper division journey into computer science. I am a bit nervous getting back into school. When the course finally unlocked and my "To Do" list on Canvas filled up, I began to feel overwhelmed. Fortunately I have dealt with this feeling before and am already well on my way to finishing this week's module. 

The most interesting part of this week for me came from watching Ashley Gavin's TEDx talk. Although the video is a few years old, it is still surprising to me how few STEM students major in computer science. It is also surprising to me that computer science is not taught in more high schools. Teaching computer science is my goal, and I hope that I can instill the same enthusiasm into my future students as Ms. Gavin has done for hers. 

Beneath the Old Pine

I’m sitting under the old pine tree in Sunrise Park — the one that leans gently toward the fence line behind my childhood orchard. From here...