ShotSpotter

In December 2018, the Bridgeport Police Department officially launched the ShotSpotter – a system that detects gunfire and gives police officers instant access to shooting location maps, as well as information on how many shooters are present and how many shots were fired. The automated system uses computerized sensors placed on buildings and lamp posts throughout the city to detect gunfire. With this technology, police can better predict where shooting may occur, and, consequently, help officers respond more quickly to violence. The system is not a replacement for residents calling in shots fired. Moreover, the data collected can even help neighborhoods combat gun violence through promoting health programs in areas where gun violence usually happens. Despite how ShotSpotter does not have biometric scanning features like other police technologies, it does raise privacy concerns. Some people believe that the system will pick up and record conversations, while others believe it will eventually have more features added (including the ability to record conversations).

Giving Algorithms A Sense of Uncertainty Could Make Them More Ethical

When people make ethical decisions, there is some degree of uncertainty. Algorithms, on the other hand, are programmed to achieve a singular mathematical goal, allowing little room for uncertainty. Because of this, they cannot deal with multiple, often competing, objectives and account for complex concepts such as “freedom” and “well-being”. Thus, it is nearly impossible for algorithms to make ethical decisions

Continue reading “Giving Algorithms A Sense of Uncertainty Could Make Them More Ethical”

The Impact of AWS

AWS IQ’s large talent pool, relationship with customers, comprehensive set of services, and global marketplace are what make them a necessary ingredient for business start-ups and growth.

Amazon has greatly expanded their presence in the cloud computing space with their latest service – AWS IQ. In September 2019, AWS IQ was introduced as a service that allows enables seamless connection, interaction, and billing between businesses and cloud-computing experts. Since then, it has not only proven to be a valuable resource for businesses of various sizes and in various stages, but also a valuable asset in Amazon’s portfolio.

Continue reading “The Impact of AWS”

The Secret to Efficient Programming Is Incremental Programming on Paper

Jotting down all my coding ideas on paper before typing them on the computer has helped me become a more efficient programmer.

As a freshman college student who had no prior programming experience before college, learning a programming language was a tough challenge for me.

As a noob placed in a computer science class mixed with experienced and non-experienced programmers, I mimicked my class’ overall programming style: typing code, checking errors through compiling the program, and revising the code until the program works.

Essentially, I was mindlessly programming.

Backlit_keyboard.jpg

That method of programming led me to confusion and frustration. Not only was I heavily dependent on the compiler to identify errors, but I could neither trace my own code nor understand code written by other programmers. Looking at long lines of multicolored code on computer screens became a sore to my eyes. Countless hours were spent debugging and, unintentionally, creating new bugs.

Looking at long lines of multicolored code on computer screens became a sore to my eyes. Countless hours were spent debugging and, unintentionally, creating new bugs. Old concepts were occasionally forgotten, and new concepts became increasingly difficult to understand.

newbie-coder-tips-code-confusion

I would attend lectures in hopes of grasping a better understanding of what I learned from the readings and getting hints on how to tackle the upcoming programming assignments. The professor not only summarized the assigned readings, but he ignored questions and comments that “can be answered by the textbook.”

Because our class’ textbook (zyBooks) is designed for students to complete interactive activities while compiling their programs within the textbook, I relied on the textbook’s built-in compiler just like how I relied on the compiler in my Cloud 9 workspace.

When I finally flunked the exam, I was handicapped at a grade lower than my overall class grade and my seat for the succeeding computer science course was dropped.

On the brightside, I was able to reflect on how I have been studying for computer science during the break that followed exam week. As soon as I realized that the A’s that I have been receiving on programming assignments were not reflective of how efficiently I can write code, I began to wonder to myself: “How can I train myself to become a human compiler?”

iStock_000006091946XSmall.jpg

Since the exams for computer science were taken on paper and without the help of a compiler, I decided to revisit all of the previous chapters I read and recomplete all of my programming assignments on paper. Also, as I was doing those things, I made it a goal for myself to create successful programs within at most ten tries.

Working

By the time the new quarter began, I was able to train my brain to predict the result of my programs. Determining the type of errors produced by my programs and writing the simplest codes to solve complex problems became a breeze to me.

 

Capture
(Midterm exam results, fall quarter 2015): Because I was a student who was first placed into a computer class full of experienced programmers, it was no surprise to anyone that the majority of the class received an A on the midterm exam. Somehow, I managed to get a C on that exam.

 

f
(Midterm exam results, winter quarter 2016): Now that I am retaking the same computer science class but with more inexperienced programmers, it is obvious to see how difficult programming is for starters by the grades students received on their midterm exam. I am happy to say that I received an A on that exam.

 

I saved all of my written programming notes in a binder so that I can see my thought process as I was trying to meet the program specifications, review mistakes I need to avoid, and write comments for each line of code.

Along with those written notes are all the programs I saved in my Cloud 9 workspace. For every program that I created on paper first, I would type them out in Cloud 9, compile them, add comments to lines that had errors that I failed to see, and duplicate a copy of those programs so that I can compare my revisions to the original code.

As my winter quarter is coming to a close, I hope I can prepare myself for the final exam. I remember that the final exam is a lot more challenging than the midterm exam, since it requires students to actually write code instead of selecting an answer from multiple choices.