Category: CST 300

  • Week 5 Learning Journal

    Blog Comments

    Last week I blogged about my educational and career goals. This week, we compared our goals to our classmates’. Here are some comments I left on a couple of my team members’ blogs:

    Capstone Project Ideas

    After reviewing the capstone festival, here are a few ideas for potential capstone projects:

    1. Agentic AI is the next step in artificial intelligence. Instead of merely providing information like a chatbot, AI agents can actually complete tasks, which opens up a whole new world of possibilities. There are a few AI agent frameworks available that could be helpful with a project like this, for example, Google’s Agent Development Kit, Microsoft’s AutoGen, n8n, and the OpenAI Agents SDK. The adk-samples repo and the Open AI docs have a few examples of agentic AI projects. For a project like this to work, it would help to have a business problem that AI could help solve, perhaps from a partner organization.
    2. Cybersecurity should be a top priority for all organizations, and new tools like CodeQL can help automate the process of discovering and mitigating vulnerabilities. I’m interested in learning more about the Security Scan Summary Project with the US Naval Research Laboratory. The project mentioned that they generated PDF reports, but it may be useful to have a web dashboard for viewing these reports, which would be a great way to build on the previous capstone project.
    3. Large Language Models are becoming increasingly important in business, education, and everyday life. Pre-trained models like Llama allow anyone to run and fine-tune their own LLM, and LLMs can even run in web browsers now, for example, via WebLLM. I have an existing project called journaling.place that I could integrate an LLM into, which could be an interesting capstone project.

    Weekly Summary

    This week was mostly about planning for our capstone project and our careers after CS Online. I’m definitely interested in internship programs and perhaps graduate school. I’ll make sure to spend more time finding opportunities and researching programs as my time in CS Online progresses.

    For CST 300, we used AI to develop our stakeholder analysis for the ethics essay, which helped me to think about the issue in some ways I hadn’t already considered.

    I also spent some time learning about AI. The AI ecosystem is fairly mature at this point, so it’s a great time to dive in and learn from all of the resources available. It’s amazing that we can have AI teach us how it works, just by asking the right questions.

  • Week 4 Learning Journal

    Set Your Educational Goals

    After going through the readings in this module and reflecting on my learning plan, I’m looking forward to developing practical skills that should help me in my career. This includes hard skills like software engineering, database administration, and data science, as well as soft skills like collaboration, project management, and networking.

    I may want to pursue a master’s degree after completing CS Online, or I may end up getting a job that keeps me busy learning new things, or maybe both. I’m definitely a proponent of lifelong learning, so I’m sure I’ll keep on learning no matter what. This program should help me to reach the next step in my journey, whatever that may be.

    Set Your Career Goals

    My primary goal right now is to gain more work experience and become more established in my career. Completing CS Online and earning a Computer Science B.S. should help me in the job market, since many jobs specifically list having a computer science degree or a similar technical degree as a requirement.

    As far as where I want to work and what I want to do, I’m keeping my options open. Where I end up working isn’t entirely in my control, but I tend to gravitate towards more innovative, startup-like cultures. As long as I can keep on learning and improving things, I’ll be happy wherever I work.

    ETS Computer Science test

    After reviewing the ETS Computer Science sample test, I’m confident that I’ll be able to pass it. I’m pretty familiar with most of the material in the exam, though I could definitely benefit from preparing a bit more, and I should be more ready before I take the actual exam. As far as what percentile I’ll score, it’s difficult to say, since it’s also based on how well other students perform, but I’m hoping to do well on it.

    What I learned this week

    The two main things I worked on this week were the industry interview and the outline for my ethics paper. For my ethics paper, I’m writing about lethal autonomous weapons systems (LAWS), so I spent some time learning more about the issue and the ongoing debate surrounding it. I also learned that I live near Anduril, a startup that makes autonomous weapons systems. I hadn’t really thought too much about defense tech before, but it’s obviously crucial to global security, and there are a lot of talented engineers making frighteningly cool stuff. Looking forward to learning more about the tech and the ethical issues around it as I write my paper.

  • Week 3 Learning Journal

    Taking good notes

    Last week I blogged about study strategies and mentioned that my note-taking techniques could be improved, which raises the question: how does one take good notes?

    AcademicTips.org provides some helpful Note Taking Techniques. For example, retyping your notes can be helpful. The first time you take notes on a topic, you may not totally understand it, so it helps to revisit the notes again and add more context. This is similar to the Feynman Technique, which can be applied to iterative note-taking:

    1. Teach yourself the topic as you study
    2. Identify knowledge gaps in your notes
    3. Simplify and clarify your notes as you improve them
    4. Review and repeat until you fully understand the topic and can remember it

    The Zettelkasten Method is a useful framework for note-taking, especially with digital notebooks, which can easily create an interconnected note database with tags. How to Take Smart Notes teaches Zettelkasten, and the author also offers a course on doing Zettelkasten with Obsidian.

    Ethics in tech

    We had some readings this week on ethics in tech, and we also chose a topic for an ethical argument essay we’ll write. I’m planning on writing about lethal autonomous weapons systems, which obviously brings up a lot of ethical questions. The ACM Code of Ethics and Professional Conduct is useful for grappling with these kinds of issues, especially the principles of avoiding harm, serving the public good, and respecting fairness in decision making.

    What every computer science major should know

    In his blog post, Matt Might outlines some topics that CS majors should know. A few topics that stood out to me were emphasizing the importance of technical communication, having a strong portfolio, and the becoming comfortable with the Unix philosophy.

    I’m glad that CS Online gives students the opportunity to develop their communication skills by keeping a technical journal, which can also serve as a portfolio. Technical writing is an essential skill for engineers because their work is most valuable when it is clearly communicated and understood by others. Writing each week is a great way to develop this skill.

    Code of Integrity

    After reading the Code of Integrity, I understand why it’s important for academic success. Students must only submit their own work, must not share solutions, and must indicate any assistance they received. Following these rules will make sure that students are actually learning the material, which will contribute to the long-term success of the program and students’ future careers.

  • First Post

    This week was mostly about getting started and learning how to learn with CS Online: meeting classmates, learning more about CSUMB and the program, and getting everything set up so that the next 100 weeks will run smoothly and effectively.

    I’ve been working on an industry analysis essay and am writing a case study on Palantir. As part of the research for that, I’ve been reading Alex Karp’s “Aggression in the Lebenswelt”. Trying to not fall too far down this rabbit hole, but it’s an interesting read for anyone who is curious about the relationship between language, power, and legitimacy.

    Here’s a neat diagram ChatGPT made:

    One of the assignments this week was to explore new ways to interact with ChatGPT as a student. I’m really excited about how CS Online embraces AI, since it is such a powerful tool.

    Another assignment this week was also to create this blog post. I’m using WordPress — pretty familiar with WordPress as a developer, but haven’t used it much as a blogger, so this is a great opportunity to learn more about it.