Wednesday, October 23, 2024

Programming Languages

Scratch is an online teaching tool that uses visualization in the form of “blocks” that help programmers better understand how a code works together to program a system  (Parra-Jiménez, 2021). It’s very user-friendly and ultimately prepares beginner programmers to comprehend how a programming tool or platform works cognitively. When I used Scratch, I found that once I was tutored on how the blocks worked together to create basic games, I could move through the challenge more easily. Scratch includes all human text directions and labels. Some blocks use “if/then” functions that make the code a bit more complex. I could identify what “variables” were by recalling the same function being used in a designing program called Figma. My end program

was a game that included animation, two subjects (or characters), a backdrop, sound effects, and a scoreboard.

Depending on what you’re attempting to get the code to at a specific point in the code, it could be challenging at times. For example, when you want a certain sound to be made, you have to figure out how to program precisely what you want the game to do when someone loses or when one object appears to touch another. Also, getting your character to move can be tricky if you are attempting to do so with no plan for before and after your character moves or why it’s moving. Developing a game on Scratch seems easier if you approach the code with a plan that describes exactly what you want it to do. This helps to keep a sort of order and organizational direction. At first, it was unclear how to synchronize all the objects and create a fully functioning program. The tutorials made it easier to navigate and understand how to get the blocks to function together. I was able to time out my characters' movements and control them when they performed specific animations and made certain sounds. 

    Python demands that users understand and implement proper syntax and indentation, which adds a layer of difficulty but also makes the language more versatile and suitable for various real-world applications (Zybooks, 2023; Moonpreneur, 2022). From a beginner's viewpoint and lacking experience in coding, Scratch is by far easier to use and is an excellent tool for priming problem-solving habits and thinking patterns that will prepare future programmers for more complex programming languages. Scratch may be ideal for future programmers looking into the gaming field. Python is more suitable for future web developers and AI machine creators. Considering how popular and accessible AI programs have become, Python, built for high-level capabilities, seems to be the most popular—followed by other programs like Javascript and HTML. However, learning more than one programming language may be ideal for someone looking to be successful in the tech field. 

Here is the link to the Scratch code I created: https://scratch.mit.edu/projects/1081809557


Web/Mobile App Critique

Review of the Medium Web and Mobile App

Medium is a popular online publishing platform where writers and readers engage in content ranging from personal stories to technical deep dives. The app’s primary appeal is its minimalist design, high readability, and user-friendly features that make it a go-to for discovering quality articles. After using Medium extensively both as a reader and a publisher, I have a few observations and recommendations on its usability, design, and functionality.

Usability

The overall usability of Medium is solid. Its simple and clean interface allows for smooth navigation and reading. The site’s layout and structure are consistent, with intuitive icons and features that make the experience enjoyable. However, one usability issue I have encountered relates to the inconsistent placement of the “Save” function. When reading an article directly from the app or website, the save icon is clearly visible and easy to use. However, if I access an article through an email link, the “Save” icon sometimes doesn’t appear, which makes it difficult to bookmark articles I’d like to return to later. This inconsistency disrupts the user experience and could potentially lead to frustration, especially for users who rely on the email feature to access content.

Design

The design of Medium is one of its strongest features. The platform uses a consistent color palette, clean typography, and a clutter-free layout that promotes reading without distraction. Icons are straightforward, and there is a balance between visual appeal and functionality. The use of whitespace is effective, providing a sense of openness and focus on the content. This design strategy aligns with best practices in user interface (UI) design, as highlighted by Norman and Nielsen (2020), who emphasize clarity, consistency, and visual hierarchy as critical components of effective UI (Norman & Nielsen, 2020).

Functionality

Medium’s core functionality as a platform for both reading and publishing content is robust. It includes options for highlighting text, adding responses, and connecting with writers. As a publisher on Medium, however, I have noticed that the process of creating and formatting articles could be more streamlined. For instance, the distinction between titles, subtitles, and body text is not always clear in the editor interface, which can lead to confusion and formatting errors. Additionally, Medium could benefit from filtering out low-quality content that some authors produce merely for likes and clicks. This would improve the overall quality of articles, ensuring that the platform remains a space for meaningful engagement and high-caliber writing.

Recommendations for Improvement

  1. Consistent Save Function Placement: I recommend placing the “Save” icon uniform across all Medium interfaces. Whether a user is accessing the platform through email, mobile app, or web browser, the “Save” icon should be in a consistent location to prevent confusion and improve usability.

  2. Clearer Publisher Instructions: For publishers, clearer guidelines on differentiating between titles, subtitles, and body text would help streamline the article creation process. This could include tooltips or brief tutorials directly in the editor.

  3. Quality Control for Published Articles: Medium should implement a more stringent review or quality control process to filter out authors who produce low-quality content. This would help maintain the platform’s credibility and ensure that readers can trust the articles they encounter.

Overall, Medium is an impressive platform for both readers and writers, but there are areas where the experience could be enhanced. By addressing these usability and content quality issues, Medium can continue to set the standard for a quality online publishing experience.

References

Norman, D. A., & Nielsen, J. (2020). The design of everyday things (Revised and Expanded Edition). Basic Books.

TECH TOPIC

As someone pursuing a degree in cybersecurity and with a growing interest in managing government contracts, I have chosen to explore IT careers. My primary motivation for choosing this topic stems from realizing I cannot wear all the hats in the tech industry. With my passion for technology and other industries, I must develop a comprehensive understanding of the diverse career paths within IT.

By gaining more profound clarity into IT careers, I hope to gain insights into the specific roles, responsibilities, and expertise required in different fields. My long-term goal is to manage teams of IT professionals effectively, particularly in the context of government contracts. I want to be knowledgeable enough to ask the right questions, provide valuable input when solutions are needed, and understand the overall scope of each professional’s role. Additionally, I hope to learn more about how to support these experts when challenges arise.

A key question I seek to answer through my research is: What are the essential skills and qualifications needed for IT professionals in government contracting roles, and how can managers best facilitate collaboration among various IT specialists?

I look forward to using this research to enhance my ability to lead IT projects and contracts successfully.

Network Security

Information and system security are paramount for individuals and organizations in today's digital age. As more data is transmitted and stored online, the risks of unauthorized access, breaches, and cyberattacks have increased exponentially. Protecting sensitive personal or professional information ensures privacy, integrity, and the overall stability of digital infrastructure. Without robust security measures, individuals and organizations are vulnerable to financial losses, reputational damage, and operational disruptions. One area of concern is network security, which involves safeguarding systems against attacks that exploit vulnerabilities within computer networks. A basic networking tool, the ping command, can be leveraged to launch inevitable cyberattacks, such as Denial-of-Service (DoS) attacks. In a DoS attack, an attacker overwhelms a system with ping requests, making it unavailable to legitimate users. Additionally, organizations face two common security threats: security holes/vulnerabilities and social engineering, which can significantly compromise a system if not adequately mitigated.

Security holes or vulnerabilities are weaknesses within software or hardware that attackers can exploit to gain unauthorized access. These vulnerabilities often arise from unpatched software, misconfigurations, or weak passwords. Common symptoms of a compromised system include unusual behavior, data breaches, or unauthorized access to sensitive information. Vulnerabilities, if exploited, can lead to severe financial and reputational damage.

In terms of protection, one key strategy is to ensure regular software patching to close known security gaps. Intrusion detection systems (IDS) can also help monitor suspicious activities and alert administrators before significant damage occurs (Aslan et al., 2023). Implementing segmentation within a network ensures that even if one part is breached, the attack doesn’t spread further, enhancing overall security (Frontiers, 2023).

Social engineering is a technique where attackers manipulate individuals/users into offering up confidential information. This form of attack is particularly dangerous because it exploits human behavior rather than relying on software vulnerabilities. Symptoms of successful social engineering attacks include unauthorized transactions, compromised login credentials, and data breaches.

To mitigate social engineering, employee education is critical. Regular training sessions and phishing simulations can help staff recognize and avoid falling for such scams. Implementing multi-factor authentication (MFA) adds another layer of defense, reducing the likelihood of unauthorized access even if credentials are compromised (Frontiers, 2023).

Recommendations for Security

To protect against these threats, it's essential to:

  1. Regularly update and patch systems to address vulnerabilities.

  2. Educate employees about potential security threats and establish strong authentication protocols.

  3. Use advanced detection systems like IDS and MFA to minimize the impact of both social engineering and vulnerability exploitation.

These strategies are essential in protecting individuals and organizations from the evolving landscape of cyber threats.





References


Aslan, Ö., Aktuğ, S. S., & Akin, E. (2023). A comprehensive review of cyber security vulnerabilities, threats, attacks, and solutions. MDPI Electronics.

Frontiers (2023). Hospital cybersecurity risks and gaps: Review (for the non-cyber professional). Frontiers in Public Health.


Tech Topic

  Exploring IT Careers Through the Lens of Information Technology Fundamentals Careers in Information Technology (IT) rely heavily on founda...