Week 7 – Ethics Final

Final Research Video Project Planning

This project is a pretty challenging. The main constrain is time. Even though we’re good at coordinating, and work well as a team, the fact that we have to produce 2 videos seems pretty daunting. 

We already started the research and we’re going to start working on power point presentations and scripts soon. The topic so far is: Why should we teach kids to code at an early age.

Review Ted.com Presentations

3 Principles for Creating Safer AI

AI is an interesting problem that as software developers we will continue both developing and encountering. Machine Learning and AI are the key components of how the internet and technology will continue to develop. It’s important to us as developers to understand how it works, and how it can be safely and responsibly developed. The 3 new principles which don’t follow the original Asimov rules, are an interesting take on what the future bring. I think the last one is really the key to truly compatible human-AI. Learning from human behavior, and values. It’s like teaching a baby to become a responsible being. But it poses the interesting question, if a machine then is entirely driven by human behavior and values, can it achieve some sense of humanity?

Stuart Russell is a fantastic presenter. His pace and language makes following his talk easy. The slides are small minimal and don’t interfere with the presentation. He injects both facts and humor to drive important points. He keeps the language and examples simple and easy to understand so anyone can understand why his ideas are important.

What’s Next in 3D Printing

Avi is a great speaker. He is engaging uses colorful language an examples which makes the presentation fun an engaging. He tries to emotionally connect to the audience with personal and heartwarming stories.

For me, 3D printing is both a hobby and a passion and I hope I can some day turn into more of a career. This presentation for me is pretty special because it validates some of the feelings about 3D printing that I’ve already had. 3D printing has been in the last few years undergoing a silent but impressive revolution. Quality of printing has been increasing while costs have been dropping making it accessible to more people but also bringing more talent into the 3D creation space.

Presentation Skills Reading/Video (60-75 Minutes)

A. What not to do in powerpoint:

There are some important take aways from this. Powerpoints can be a great tool to deliver information to an audience. But as speakers we have to be mindful of how powerpoint affects our presentation. Too much data can be overwhelming or distracting and can pull away audiences from the message. So, keeping slides simple, and on point is far more effective than delivering all the information.

B. Toastmaster 12 tips for 12 public

There are some interesting tips here. The one that I’m most interested in is mannerism. I tend to have a few nervous ticks and over-exaggerate my hand gestures. Making sure they’re controlled, and rehearsed but natural is an skill I need to practice.

C.  Examples of Great Presentation Design

This is a great presentation! The visual style is fun, makes for engaging slides with useful information. I think this i ideal for a long presentation because every slide becomes a surprise to the audience. Data is then embedded with big letters so consumption is easy. Clearly, it’s not something you want to use for every presentation (although this specific presentation contains fantastic advice on how to build good ones). But for our short video for general audience, this is certainly something I’d like to try.

These are more in line with a long professional presentation. I think it will be a better delivery mechanism when talking to our peers since they are engaging but can also be packed with lots of good information.

One thing these all have in common is that they have engaging visuals with big fonts and as little text as it’s possible to get away with. We should aim for that.

D. Where Great Ideas Come From

This style of presentation is very popular. It does require a lot of skill and editing. It makes the presentation engaging, and fun. The pacing of both drawing and speaking are key. Too slow, and the drawing process is boring, but too fast will make each drawing have less impact as ideas will overwhelm the audience. It would be interesting to try to push for this sort of skill, but with limited time, skill and knowledge of editing, it can be a real challenge.


Posted in CST-300, CSUMB | Leave a comment

Week 6 – Career Development

CSUMB Career Services

I have to say this turned out to be a create little trip down the CSUMB website! Fortunately, I already have a job and my career choice has so far been successful. However, I have to admit putting together a resume, and cover letter are things that I find very challenging. I have often run those through several friends to get their opinion and verify that what what i’m doing is attractive to employers. I was pleasantly surprised by the depth of the website, and how much CSUMB works to help students achieve their goals.

I know I have struggled in the past, and I had to do a lot of this myself. I honestly wish I had this support network back then.

I actually really liked this site: https://whatcanidowiththismajor.com/major/majors/. I will be passing around to several friends that seem to struggle placing themselves in a field they actually enjoy!

Job and Internship Search

I know from personal experience on feedback provided by my employers as well as an interviewer that communication skills are incredibly for a career in software engineering. As a developer, people often think that interactions with others are very limited. However, a good engineer needs to master all the skills listed. Gathering requirements, conveying ideas, and persuading others (including management) are crucial to be successful and move upwards. Working hard is very important, but the reality is that working hard can only get you so far in any industry. A good communicator and team player bring far more value to a company as those are essential skills to grow. Those people tend to be already flexible and good learners as they are more likely to seek out support when needed.

I strongly encourage others to also take some public speaking class or events. The thought process and methodology behind public speaking are very similar to the skills required to present a good argument to management, and help develop confidence to network effectively.

Teammates to Develop Capstone Ideas

I think we as a team we’re leaning more into the original idea that we created for our intro to the class. VASC9 as an escrow application. The idea is pretty good, but we need to figure out how feasible and how much work there is actually to do for an idea to be presented to the class.

For my personal idea, i still think the family circle is probably the safest choice, but the team seemed pretty good about the IDE to create bots. I’m not even sure how I’d go about creating one, so I’ll need to take some time to think it over, and break down the components.

Weekly Learning

This has been an incredibly busy week. The paper really took most of the time, and then peer review was also very intense. My teammates papers are actually very interesting. But to me that means i need to step up my paper as well to make sure it’s up to their standards.

To me the most interesting part was the TED talk on privacy. Greenwald makes some very good points. I’m very much in the fence about privacy on the internet. I understand why individuals need to be able to be free to express themselves, but to some extent, anonymity has brought up the worst in us. Having a measure of consequence is healthy. It forces people to be responsible with what they say and do.

Study Time

Posted in CST-300, CSUMB | Leave a comment

Week 5 – Capstone Ideas

Teammates’ Goals



Possible Capstone Ideas

I’ve been thinking a lot about capstone ideas and I want to make sure I hit a couple of points with mine. I realize not all ideas may meet the requirement, but ideally it hits at least two of them:

  • I want it to be more service oriented.
  • I want it to have community features.
  • I want it to showcase some technology.

So this are some of the ideas I’ve been bouncing up and down.

Family Circle: A facebook like service but for families specifically. The goal is for you to create your family circle with whom you share pictures, comments, locations, events etc. Each person can belong to multiple circles, but each circle is private and exclusive.

Discord Bot IDE: A scratch-like idea that allows users to easily create bots for Discord. The goal is to lower the entry level for creating bots. It would be a cloud base service similar to “if-this-then-that” design to be completely agnostic.

D&D Digital Board: A hexagonal or square box that allows a dungeon master as well as a group of players to play the Dungeons and Dragons game. It should provide the DM with the ability to add tokens, create encounters, move/hide/display tokens in the map. Players should have a limited set of actions, and should only be able to move their character. Additionally this would have an encounter planner and tracker that makes managing a given adventure much easier.

Weekly Learning

This week has been about fallacies and capstone. For the first, I’ve always enjoy learning about fallacies. In today’s political and social climate, knowing how to build a better argument seems like a fundamental skill, and it’s so easy to fall prey to name calling or slippery slope or hyperbole. It seems like we need to do and be better, and that means understanding what it takes to build a proper argument. Writing the ethics paper has helped me do some introspection on what i consider ethical as well. My position hasn’t shift much, but I do have better arguments as to why I believe it to be the right choice.

Capstone, on the other hand, has been a more challenging task. I’m not super convinced about any of my ideas. I do believe they’re good and achievable. But I think i need to spend more time refining them, and making sure they are something I’m excited to work on, that I’m proud of, and that showcases my skill set.

Study Time

Posted in CST-300, CSUMB | Leave a comment

Week 4 – Ethics and Goals

Education Goals

The easy part here is I want to get through this class. It’s a small goal, but it’s a first step and I realize I tend to give up when I set my self goals that are far and beyond. So my motivation for now is to start the program in the right foot, put the time and effort and get an A in my first class.

Beyond that, I believe my most important goal right now is graduating. This has been a long journey, and I cannot wait to be able to walk down to get my diploma. I ‘m looking forward to rounding up my education. So far, most of my knowledge has come from experience, which while invaluable has been limited to what assignments, or work has required.

Career Goals

I want to work doing something very specific. I want to plan the architecture of monetization strategy tools for a company that helps the community. I look at Twitch, or Patreon, or even YouTube, and this places have specific internal tools, with internal costumers that help them monetize, and continue being viable businesses. Yet, they bring a lot of value to the communities they serve. I want to be the person that architects the success of a company like that.

Percentile ETS

I actually feel pretty comfortable with taking this test. Looking the questions, I realize some of this is just careful studying of the wording and making sure your logic is sound. The test is not daunting and that’s what’s to me most important. Some of the questions are a bit harder because I either don’t have the knowledge yet, or I’ve forgotten the theory from previous classes. If I was to take it right now, I’d give myself maybe a 70% passing grade, but I can do much better. I know if I apply myself, and actually study, on graduation I can do 95% or better.

Weekly Learning

This week has been a bit rough. I’ve always found ethic dilemmas interesting. I’ve always enjoyed playing devil’s advocate and I do like debating. However, my knowledge of ethics was very basic, and discovering both the depth, and philosophies behind decision making is incredibly compelling. I’ve been reading and learning more about utilitarianism. It seems really like most people consciously or unconsciously live by this framework which offers the greatest flexibility for what is “right”.  It makes sense. People, including me, look for a pragmatic solution that benefits them and their love ones over everything else. It doesn’t have to be as hard as “steal bread to feed your family”. But rather, the smaller things: “Ditch work early to spend time with your kids”, or “skip a tasty pastry to help your wife keep her diet”. Those moral dilemmas we face everyday, and the answers are easy when you realize that the benefit is to yourself by virtue of your loved ones.  Maybe utilitarianism is in big part about egoism in realizing that your happiness in greatly tied to those you love.

This was a very interesting module, though I have to admit the paper outline was very difficult. I had a really hard time making sure my arguments made sense for each side, and that i was being fair, and logical to what each actor should do.

Study Time

Posted in CST-300, CSUMB | 2 Comments

Week 3 – Ethics

Computer Science Major

I think it’s hard to argue on the individual points that Professor Might makes in his blog post. Even with my limited experience as a software engineer, I can appreciate the usefulness of knowing multiple languages, or being able to trace a packet, or having a basic knowledge of the unix command line. However, I think the main problem with Professor Might’s post is that it is not a practical nor achievable goal for an undergrad, and touching in passing most of those requirements would be a disservice.

The solution i think is what we currently have in most curriculums: Students receive a focus on the ones that matter most (architecture, network, algorithms, exposure to a few language, graphics and group work), and allow the students to further specialize in the remaining points (which are quite a few). At the end, like medicine, people most specialize in certain areas to provide a better service, and while overall the scope of knowledge layed out should be the goal of every engineer, it should be a goal over a professional life time, rather than school. The process of that continuous learning should a skill taught and reinforced on every class.

Project Management

Critical Path: I think this is an important concept that is incredibly important and not always followed in projects. In my experience, projects can often get bogged down in details that are not that relevant to the critical path. What ends up happening is that projects are often delayed because inevitably the details pushed tasks which should have taken precedence. Even identifying the critical task is an important skill. Knowing what tasks are actually relevant and separating those from the “nice to have” tasks can be a challenge when working with multiple people who have different priorities.

Mythical Man Month: This really stroke a chord with me. It’s not a new concept for me, but I didn’t know the origin of it. It’s such a common to have people ask you to provide an estimate followed by “what if we add more people”. Reality is that some tasks can be parallelised and we should aim to maximize those areas. Specially with in teams where having the experience and knowledge of a product should be spread out. But that doesn’t mean time is automatically cut by half. On the other hand, adding more people can increase the quality, so even if the project slows down, the trade off of a better product can be well worth the increase in delivery time.

Capturing and Documenting Requirements: I often feel this is the hardest skill for both Project Managers and Engineers to master. It’s easy to make assumption on what a system should and should not do, or what the customer ultimately wants. The lack of communication or worse, the lack of common language between both parties can really hinder a product development. It’s not uncommon for developers to try to go above-and-beyond by adding features, over-optimizing, or conversely by missing features or working on features that do not match the specifications. The idea of having a questionnaire and doing an “interview” is fantastic! Reaching consensus (which really goes hand in hand with solving conflicting requirements) is also critical. Having a glossary of terms for a project is also a good way to create a common language.

Time Management and Study Strategy

Reading over the tips for effective studying, I think I just realized I’m a little of a haptic learner which I didn’t know it was a think until now. I get easily distracted, and it’s  not that I lose focus on the task at hand, but that I get bored with it. I tend to push to and force myself, but because I’m bored, I see myself often multi tasking to keep my interest up. I may study multiple things at once, or change music every few seconds, or even take breaks to feel rewarded between short study bursts. It makes studying take much longer than it should.

I really like the advice of embracing it and rather leveraging that to my advantage. I mentioned on the forums I love diagrams and arrows and relating ideas graphically which I found is actually effective for this type of learning. I’ll do more of that. I think I’m going to have other things around me to help me study this way, like a cork board to physically pin tasks and keep lists of distractions. I don’t have a standing desk at home, but I like the idea of printing my work and reading while pacing around the house. I actually feel a bit better now knowing I don’t just have a hard time studying but rather that I have a different way of learning.

Weekly Learning

Ethics are interesting. I think the main take away is that it rarely is a simple as right or wrong. The exercise on Snowden’s actions to me was a great way to see to how hard it is to apply ethics to any given problem. In that particular scenario, you could see each student’s interactions and how they justified it one way or another. How creative arguments for virtue, egoism, deontological or even beneficence were applied to a problem that up to this point I considered was very black and white. I’m also surprised by some of the answers my classmates gave. They were incredibly well thought arguments that I had not considered before and helped me better shape my own.

The main problem with ethics is that they are entirely subjective, even when we believe they are not (say a Kant’s take on law, or deontological framework.). Instead, we apply them fluidly. We justify our way of thinking according what what it suits us best at any specific and given situation. We may consider someone unethical for doing the exact same action we did, if we feel that person was unjustified, or harmed us.

I think it will be interesting to learn more about how this affect us as students and people at a professional setting. Where there are both moral and economic obligations that may contradict each other.

Study Time

Posted in CST-300, CSUMB | 1 Comment

Week 2 – Learning Skills, Draft, and Captstone

Learning Skills.

Learning online is not an easy task. The big plus of being able to work at your own pace, on your own time, is offset by the amount of discipline it requires. It also means you do not have access to teachers and classmates the same way on the same schedule as you do for normal learning. It makes it all the more important to have proper habits for studying and absorbing material.

1. The value of a schedule:

This is perhaps the most important to me. It is key to get into the habit of studying. Having a design time and space to study means means you can prepare ahead of time for it and is no longer a chore as much as a habit. It also helps you realize how long each task can and will take time, and time can be distributed properly.

2. Extracting the Important Details

This is a difficult step but I have found it incredibly important. Unlike conventional learning where extracting the details is helped by a teacher during lecture; online learning requires the student to often times figure it out from material. Reading and making the connections between past ideas is particularly important as it facilitates the retention of the material as well.

3. Taking Notes

Normally this is regular business for me. I’m an avid note taker, and often write everything in the board (or take pictures) and jolt down main ideas of what the teacher is saying. Online courses make this a different process, but it will require similar skills. Having the advantage to stop, and playback videos makes it convenient to not take notes, but they should still be taken as the writing portion not only helps to reference material but retain it as well.

Activity Log


Project Management Basics

For all ideas and projects a company may have, only a few make it to the market and even fewer make it out of development. Some of those issues can be tracked to failure in scope, time, or even funding. To succeed, it is important to not only understand the project, but also have someone that can help lead the project. A project manager can be helpful not only in organizing the project, but gathering requirements and scoping work.

It is also important to create breakdown-structures that reflect what it takes for each phase to be accomplished as well as the work on each phase. Using a tree structure, the work can then be represented as a breakdown of tasks and deliverable. For instance, a Project may have a phase, a phase may have a deliverable, and the deliverable a work package. This will help organize a project in such way that each component is accounted for.

However, to further organize work, it would be important to use tools like Gantt Charts. This are breakdowns of the time required to accomplish each work package. They help illustrate the total amount of time per package, for the project as well as the connected dependencies within the timeline. Ultimately, all these tools are aim to make the project structure less chaotic and more predictable allowing the people involved in the project to allocate time and resources and minimize the amount of blind spots to bring a product to fruition.

Capstone Project

PUSD IT Management System (Summer 2018)

This was an incredibly interesting and complete project. The presentation was very clean and well thought out. I particularly liked how intimately familiar he was with the problem, the history of the struggle for the school staff and the background he provided even going into the funding the school received previous to this project.

He used a wide range of technologies and created an interface that was very easy to use. I was surprised by the amount of both work and care that went into this project. It’s a comprehensive solution to ticketing and inventory that is further hooked into google for authentication and with the school district student database. The system has a full list of the staff, the tickets and inventory. Finally the system has both import and export of data via CSV which makes it easier to update data and makes that data easy to consume by other external system. It offers a full IT solution for the school district with what seems like very little setup for them to maintain.

Ultimately this system seems to really seems to solve the friction the staff was suffering from previously working through inventory in spreadsheets and complex ticketing system. This sets the minimum benchmark for how I’d like my presentation to go and the comprehensiveness of the project.

Lab Resource Manager App (Summer 2018)

This was an interesting application to me. It solves a very specific issue with a very narrow subset of customers. Mostly that the LRM database is designed to be used on a computer and not a device, making it difficult for technicians to update where items are in the lab/warehouse.

The presentation overall was good. There are some specific things that could have been easily done to improve it. Recording the screen of a cellphone is always problematic. Instead, Jason could have used a screen capture application the browser mobile development version or even a tripod to keep the target cellphone in focus and avoid shaking. Recording the presentation you can hear clicking which can be distracting. However, the presentation shows all the features of the application in action and it’s easy to follow.

The application is at first glance a simple inventory search and tracking management system hooked into the company database and using a REST. But there are two factors that make it stand out to me. The use of the camera to register scan bar codes is a great piece of integration that users would appreciate. Typing on mobile is not always great, specially in the field and with long string of numbers and letters. Last, the fact that it is specifically geared and designed for mobile device as a web interface. Keeping it simple means any device can support it without needing to setup anything. Having safety features like validating the position of items on a shelf is an great, real world case scenario.

I think he also touches some things i’m already dreading about capstone. Mostly working alone and keeping motivation when there is no one to even look at your code. I think the honesty on his struggle for the project was important advice for future students.

To me this is a very successful project because it solves a real problem, it’s practical and clean and combines design, architecture, features, and integration with other systems.

Quicipes (Summer 2018)

Overall, this was an OK presentation. As a whole it was clear and concise and explain well what each part of the website was. The introduction was long and with the static images for each slide that did not change, it made it easy lose attention.

I do think that the project is not very complete. The application is introduced as a mobile solution, but the presentation was done entirely in the regular browser. The feature set is fairly limited with only admins being able to add recipes, no search functionality for ingredients or time required and no filtering for dietary restriction. The demonstration was also very short so I never got a sense of how the application actually worked.

I think there are good takeaways to make stronger presentations as well as what level of complexity I want for my own capstone project.

Weekly Learning

This week was a bit more work than I expected. Having the outline helped a lot on developing the paper, but I still had to sit down and compile and evaluate all the research about Twitch. I did learn a lot about the company, and diving into the topic helped cement that I want to stay in the gaming as part of my career.

It also provided me with perspective into what it will take to work in the gaming service industry and where it is going. I can essentially future proof myself by picking up the needed skills ahead of time, and focusing my education on those aspects that will make me a more valuable developer.

Study Time

Posted in CST-300, CSUMB | Leave a comment

Week 1 – Industry Analysis Outline

Industry Analysis Outline

This has been an incredibly interesting assignment. Writing the outline is not easy since there has to be a bit of research upfront. However, it has forced me to sit back and reflect on the industry I want to work for, and what kind of job I want in it. I am already a software engineer, and I’m tangentially doing what I want. But this assignment has put a lot of things in perspective as far as how I see my job and what I want to do in the future.

I originally wanted to be a game developer. I love video games and that has been my goal for a long time. After doing more research on it, I find the service side of gaming far more interesting. Not only because the problems are more oriented towards my interests, but because they have a much lager impact in the community as a whole. For instance, both industries have similar challenges on how they monetize individuals, but their approaches are drastically different. Traditional gaming needs to survive on the cycles of retail and launch of a games can make or break an studio. On the other hand, mobile has faster development cycles, and much longer lifespans than triple-A titles. Mobile also relies heavily on micro transactions as the free-to-play models has taken over the market. But game services do not follow either model and rather use crowdsourcing, donations or subscription base services. All those are far less aggressive and the users do not feel use. The sentiment towards this services is far more positive than micro transactions in games.

Working on this industry primarily has given me a particular insight into how people behave and why targeting for monetization is so important. It is something I do strongly believe has value, and I want to keep applying towards other industries. The paper has helped me put this into perspective not only to the value of what I want to do in the future, but also what I already know, and more importantly what it will take to get there.

I picked Twitch because for a couple of reasons. It’s a company that is currently growing and that means there are a lot of opportunities to learn and carve a path. I also have a lot of love for what they do as a company for gamers. Twitch has made it possible for gamers everywhere to make a career doing what they love and sharing it with others. That is a feeling that resonates with me as software engineer. Last but not least, Twitch has to maintain a large number of systems. It needs to deal with video streaming, chat services, monetization, recommendation engines, third party integration, and open development APIs amongst many others. That means the company is facing issues from scalability, to caching and storage, to machine learning on a daily basis. Very few platforms face that many components in a single product. Although it’s likely each component is its own service, it’s clear they all have to work and orchestrate together to make the end user experience seamless and enjoyable.

Get to know the team and the School

The team had already met the previous week. This was our first official meeting as a team. Overall, we have a good dynamics and communication. I was originally a little scared of how working with a group and online was going to go, but we as a team have been putting a lot of work even in this first week to help each other succeed. Even just discussing the assignment helped clarified a number of issues with it, and passing it around to the other members for review means we got to catch each others mistakes. It also is encouraging to be able to get someone to keep you motivated even if it’s just to get their feedback or not let them down.

Weekly Study Time

This week is also the first week I’m officially working on my weekly schedule. I have tried to stick very strictly to it and successfully completed the first week. I already had to tweak it to fit next week’s events, but sticking through it has been key on the success of my previous assignments. Scheduling and blocking the time, and sticking to it has made it easier to form the habit. I do realize at this time the schedule is a bit rough, but I have made sure to allocate enough time to also properly unwind and get enough rest each day.

Posted in CST-300, CSUMB | Leave a comment

Week 0 – Orientation

Starting the new program as CSUMB online. This is orientation week and this is the first entry on my journal. The main idea is that we can start tracking our learning, and we should be documenting our journey through the program.

For me, this will also be a way to make sure I am meeting my own goals. Just keeping this weekly journal up seems like such an overwhelming commitment, but this program is also something I’ve been looking forward to for a long time. I’ve been going to college since I graduated high school. The road here has been slower than expected. Working full time has often meant taking one class at the time, and sometimes even pausing school altogether. Getting here is already something I am very proud of, and that I intend to see through all the way.

Orientation itself was a big step for me. Both doing a presentation and getting to know my classmates for the next 100 weeks is very exciting. The program is very well structured, and designed with the challenges of working full time on mind which gives me a bit more peace. Everyone in the program seems ready to offer support and help, and having a preset study group will help me stay on track. I realize we’re all in this together and we’ll do our best to help each other succeed. The next step is starting to get to know my teammates and starting to work on the small projects like our resumes and get on a consistent studying pattern.

For the first assignment I have to create a study plan. This is probably the most challenging part cause I have to sit down and plan out the time slots for the next two years.

Weekly Schedule Time: 

First Study Session

This week the team had the first group study session. Overall, we focused on the team resumes and getting to know each other’s personalities and schedules. The team is pretty well rounded and we’re all excited to work on getting through the program. The team resume is an interesting challenge. Getting to know both the professional experience of the team, strengths and weaknesses and how we can sell ourselves as a package.

We also have to work on agreeing with each other on things that seems surface level, such as the layout of the resume or how to word the services we’re selling. However, it also speaks as to how we should be communicating on code reviews, or other share projects. Learning to compromise and trust our teammates is essential part of both an educational and professional foundation.

The assignment itself is also a reflection of how we see ourselves. For our team, the layout was fairly basic but the focus was on the services we offer. We also identify through our culture and our expertise. In that sense, we accomplished what we set out to do. Our presentation is concise and to the point offering services that we can back up through experience and knowledge.

I was also very impressed by the quality of the resumes my cohort presented. It is clear each team personalities came through in their work.

Posted in CST-300, CSUMB | Leave a comment