Tuesday, May 28, 2024

CST 300 - Week 5

(1) Comment on Teamates' Goals

https://aebrahimi.blogspot.com/2024/05/cst300-week-4.html?sc=1716959873753#c891202753514248425

https://fhanifi.blogspot.com/2024/05/week-4-cst300.html?sc=1716960287409#c5948691997610166098


(2) Possible Capstone Ideas

I was really impressed with a few of the capstones. It seemed like some of the participants had previous experience in order to develop some of those projects. 

I really like projects I could see myself using and developing. These are a few of the capstones I particularly enjoyed.

1. Traffic Tracer

2. Like A Camera

3. Stuff Ride


(3) This week's activities

This week, we had a group meeting and decided on 3 final project ideas. We also learned about logical fallacies and avoiding them in argumentation. Additionally, we had a about some of the most prevalent fallacies we encounter daily. Although it was a fairly light workload, we also were to further develop our argumentative essay as part of this week's module.

Tuesday, May 21, 2024

CST 300 - Week 4

 (1) Set Your Educational Goals.

My educational goals in the CS Online program aren't particularly interesting. However, with our upcoming course, I aim to become proficient in Java. Although I have already begun studying Java independently, I hope with this class I can enhance my skills and knowledge. In the future, my goals are to maintain a good GPA throughout my time in the CS Online program and prepare for the ETS program towards the end of the program.


(2) Set Your Professional Goals

My biggest goal is to become confident in my abilities and obtain a software engineering job. I don't have any big goals such as working at FAANG. I'd just like to work in Web/Mobile development, security, networks, or with IoT devices.


(3) Guess Your Percentile on the ETS Computer Science Test

After reading over the ETS test, I believe that if I took it today, I would score well below average. I am very rusty when it comes to a lot of fundamentals and languages I previously took. However, after 18 months in the program and studying, I am confident I would do much better. Hopefully 80th-90th percentile.


(4) Weekly Material

In addition to setting goals and reviewing the ETS test, a major part of this week was dedicated to working on the outline for our ethics essay. We covered various concepts in writing an argumentative essay, such as stakeholders (those impacted by a decision), making claims (fact, definition, cause, value, and policy), and avoiding bias in arguments. We also had an assignment to review classmates' learning journals and comment on their weekly schedules.

Tuesday, May 14, 2024

CST 300 - Week 3

(1) Study Strategy

For this week, I chose a note-taking technique as it is something I have struggled with previously. My biggest issue while taking notes has been trouble understanding or remembering what they mean later. A technique by Janet Jenkins suggests immediately after your class, you should go and type your notes out to make them understandable. I like this idea as my handwriting can be poor while taking notes quickly, and I don't always remember what my shorthand notes mean.


(2) Weekly material

This week we went over material about ethics and ethical frameworks. We also reviewed the program's policies and code of integrity.  A few of the frameworks we went over are Ethical Relativism (encompasses cultural relativism and individual relativism), Utilitarianism, Care Ethics, Ethical Egoism, Divide Command Theory, Natural Law Theory, Kant's Ethics, and Virtue Ethics. We also learned some Computer Science related issues that affect stakeholders, such as 

Privacy    (ethical concerns over personal privacy, but greater security due to monitoring) 
Environmental    (fossil fuels for electricity, waste products from electronic devices ending up in landfills) Digital Divide    (unfair advantages due to broadband speeds, and cultural differences with technology)
Health   (sitting at a computer leading to the rise of obesity among other issues like back and wrist issues), Legal terms    (Multiple laws to protect people, data, and ideas, Data Protection Act 1998, Computer Misuse Act 1990, Copyright Design and Patents Act 1988).



In this week's reading, the author Matt Right gave some advice and pointers that every Computer Science student should know. Here is an overview:

Building a portfolio to show your projects and accomplishments.

Work on your communication skills to present and defend ideas.

Have an engineering core with classes like physics, linear algebra, and probability.

Become comfortable using Unix.

Understand how to do the tasks of a system administrator.

Learn a range of programming languages. A few I'm most interested in the immediate future are:

C;
Javascript
Java (Currently learning)
Assembly (I previously took a MIPs class in college, but it's been a few years. I'm interested in assembly for reverse engineering).

Learn discrete mathematics.

Learn data structures and algorithms.

Learn about the theory of computation.

Understand computer architecture from transistors and up.

Understand operating systems (runtime systems).

Understand various networking protocols and the trade-offs between them.

Learn to program while thinking about security and how your code could be compromised.

Learn to implement various cryptography concepts.

Software testing.

Design with user experience in mind, not for yourself. 

Visualization (make sense of data).

Parallelism (knowledge of architecture: multicore, caches, buses, GPUs).

Learn principles in software engineering.

Formal methods (theorem prover).

Graphics and simulation (3D engine for games).

Robotics (Learn programming through robotic projects).

Artificial Intelligence (all students should study this).

Machine learning (immense career opportunities).

Databases (SQL).

What I've gathered from the author is that there is a lot to learn and improve on. It's not going to be a short journey, but I hope it will be a fun and memorable one. 


(4) Code of Integrity

After reviewing CSUMB's code of integrity, I would say the code of integrity is important for me because it's an agreement between myself, the school, faculty, and fellow students. I am committed to this school, so it's important to adhere to it.

Tuesday, May 7, 2024

CST 300 - Week 2

(1) Learning Strategies Learned:

Top 3 things learning strategies I am good at:

  1. When to study: I know I study best earlier in the day while I still have energy, and when I have had something to eat.
  2. Asking questions: I often read problems and ask myself questions as I solve them. This helps me better understand the topic.
  3. Setting a schedule: I keep a general schedule with dedicated study time and set breaks often to keep my mind fresh.
3 Areas I need to improve on:
  1. Taking notes: During live lectures, I find my notes to occasionally be messy, or confusing at a later date.
  2. SQ3R Method: While I ask myself questions and answer them, stopping to recite information and review it at the end would help me learn the material more efficiently.
  3. Reading aloud. I occasionally read aloud and never considered it to be a bad habit. 


(2) Time log for my day on Saturday, May 4th, 2024.



















This day's schedule was messed up because I was trying to complete my Industry Analysis essay.



(3) Project Management Basics

The first video went over the basics of project management. Every project has a start and end with several phases in between. The phases consist of initiating, planning, executing, monitoring control process, and closing. There are many projects that fail due to factors, such as poor time management, cost management, scope management, and quality management. The job of the project manager is to ensure a project is going smoothly. A project manager needs skills such as leadership, communication, information technology, accounting, purchasing, and problem-solving.

The second video explained what a work breakdown structure was and how the decomposition of the work to be executed for a project can be organized by breaking it down into smaller tasks.

The third video was about the Gantt chart. The Gantt chart is a visual demonstration of project management. It's useful for breaking down the tasks for complex projects.



(4) Previous Capstones

MRC Volunteer System was a really cool project. The project provides a system to easily manage volunteers for the Medical Reserve Corps (MRC)  The developer seemed knowledgeable on the matter and the application seems to look well made. The presentation was also done well. The voice was engaging and the content was concise and easy to understand.

High Sierra Electronics Camera Integration. The project was to develop a solution for an end-of-life PTZ camera used in road safety applications. It provides real-time on local weather activity and allows remote access and control of the camera. I love this idea and learning about IoT devices. The presentation was very well made and the presenter was engaging and knowledgeable. 

What Can We Play Today? The project is a web application that connects to the gaming platform (Steam) and provides game recommendations based on what you and your friends own and can give a list of recommended games to play. I liked this project as it can sometimes be difficult to find games for a big group to play together. For the presentation, I think they should have gone over the development process more, but otherwise, it was fine.


(5) Week 2 Summary

The second week felt faster-paced than the previous one. Perhaps it was because of the writing lab, which took a lot of time to research. It was a lot to write in a short time, but my outline helped me form my ideas. We also started doing these Collab-U modules that discuss certain team dynamics and what makes the best team.


In addition to the main material, we watched a few videos and read an article on software engineering.


The video is only 22 minutes long but the speaker talks and presents statistics about the abundance of resources and developing technologies. He first covers "Computation Abundance" which is the increase in computational power, which accelerates the advancement of technologies and is making computers cheaper than ever while being more powerful. He then goes on to speak about innovation reducing the time we have to spend doing basic things. And the abundance of capital allows crowdfunding and venture investing, which all accelerate technological developments. Overall, new technology is advancing at a rapid rate. Things are getting cheaper as time goes on, internet, computers, etc. Network infrastructure is improving and billions of new people will have access to the internet in the future. Companies are investing in new medical technologies to expand human life. 


Next, we read a quick article on the Future of Software Engineering. This article discusses some of the current trends in the software industry and what the future may look like. The author mentions some of the biggest challenges, including the time it takes for a concept to become a functioning product, the additional time needed to maintain or update suboptimal products, privacy concerns due to companies having users' sensitive data, and the talent shortage for skilled senior developers. The author further discusses the current trend of AI and whether it could replace software developers. The author believes that we may adopt AI to improve our workflow, but because AI lacks critical thinking and creativity, it cannot completely replace a software developer.


Lastly, we watched this video on the introduction to project management.


The video lays out what a project is. A project is "a temporary endeavor undertaken to create a unique product, service or result." A project has a defined start and end date, unlike daily operations, which have no end date. For something to be a project, it must have a start and end date, a goal (product/service/result), and a unique scope. In addition to the time and scope, cost must be factored into the project. To keep projects on track, project managers work within the time, scope, and cost constraints set by leadership and are thus held accountable when projects deviate from the plan.

CST462S - Service Learning Experience

With the first half of my Summer semester now coming to a close, I am submitting my final assignments and preparing for the upcoming class i...