Latest Entries »

I’m sure most of you have once thought about making an app or paying someone to make you an app. Well, I want to help you get started today. Unfortunately, you will need to know how to program and register as an iOS developer for $100 in order to publish your app. Therefore, I want to go over the basics today to help you get started on your own app.

To get started, you have to know the basics of programming. There are five major things about programming that you will need to know about: variables, functions, loops, conditionals, and arrays.

  • Variables are instances which we can define as numbers, characters, or strings. Strings are lists of characters that basically function to display messages and text.
  • Functions are methods you can create or are already created in order for your program to be able to do something. You have to give instructions to the computer in functions so that the machine may understand what you’re referring to.
  • Loops are reoccurring iterations of instructions that infinitely loop through the code you wrote in the loop until a condition is met. It is often used to make your code as efficient as it can be.
  • Conditionals are conditions that you make that has a result value of true or false. This way you can construct logic in your code and tell the computer what to do if something is true or not.
  • Arrays are collections of memory that can store many variables like a list, which is useful in storing data in a database.

Though I did not specifically cover much these topics, you now know more about programming than the general population. If this motivates you, look at my other blog about how to get started on programming so you can continue to make your own app. After you feel confident enough, take a look at this website and continue forward in making your own app. Don’t let the supposed difficulty of programming put you down, it is merely a language you learn to voice your opinions and your ideas. So go put your ideas out there where it belongs!

Quantum Computing

Assuming you read the tech news weekly, I’m sure you have at least heard about the nearing end of Moore’s Law. Moore’s Law states that the speed of computers doubles every 18 months with transistors getting smaller each year. Well, there is a certain limit as to how small we can get a transistor to exist in the Central Processing Unit (CPU)  because of heating issues. By cutting the size of transistors to be atoms thick, we are face quantum mechanic issues where electrons flow from one transistor to another causing a shortage. To counter those issues, researchers and scientists all over the world are investigating possible alternatives to conventional computers, such as quantum computers, biological computers, chemical computers, and more.

Today, I’m here to talk to you about quantum computers. Though today’s topic does not relate to the realm of programming directly, I want to share with you why I feel the general public should learn more about quantum computing.

First off, quantum computing is a highly complicated process that uses and shapes individual atoms to store and compute data. It is a relatively new field that has gained much support globally and has stirred great interest in the future of computers. Quantum computers are based on quantum bits which are known as units of information held/stored on individual atoms. The special thing about quantum bits, also known as qubits, is that it can represent any value from 0 to 1, or both simultaneously. By both simultaneously, I mean qubits can be both 1 and 0 by means of superposition of two quantum states of 0 and 1.

Therefore, the ability of data (qubits) to be infinitely capable, with space of just one atom, raises hope for the future of computing as we are nearing the maximum speeds of conventional computers. Quantum computers will be able to compute at speeds millions of times faster than supercomputers today because they can store and manipulate data at the same time, while conventional computers have to do them separately. Conventional computers today also use bits that have a storage capacity of 1 million atoms. To reduce that number to just a single atom for quantum computing means quantum computers will be super efficient and powerful. I encourage you today to do more research on quantum computing. Thanks for reading.

Last week, I introduced the concept of hardware and software working together to create functional programs and useful products. We learned about key terms related to computer hardware including computer architecture, machine language, hardware components, and more. Well, this week I’m here to explain about the actual programming of hardware! For instance, after we built a computer based on the required components and infrastructure, how do we program it to act like a phone or game station or other computer? Let’s dive in.

To start, there is a system software that coordinates the computer system and acts as a link between application software and computer hardware. Such a system software is known as the operating system. It is the chief manager of the computer system that assigns, schedules, and monitors computer system activities and resources. However, you’re probably wondering how programmers wrote the operating system software in the first place. Well, let’s dig deeper.

Next, there is a language translation and utility software that translate high-level language programs written in programming languages into machine language, one that computers can understand and execute. When programmers write operating system software and other high-level language programs, they are writing the source code in which a compiler translates to machine code, also known as object code. Then, the computer is able to acknowledge the instructions and executes them one at a time by accessing the required primary storage data and other parts of the computer system. In simpler terms, the computer understands your code once you convert it to object code that is already defined in its primary storage, and then executes it in the CPU (Central Processing Unit).

In all, once an established operating system exists for a given computer system, programmers are able to create application software that can run on the existing operating system. That is why we have different operating  systems for different products and hardware–each operating system has its own set of application software that can be made specifically for that system. For instance, phones and PCs have different software, which is beneficial for the user. I hope you enjoyed the read and look forward to next week’s blog, thank you!

When you look at your computer or your smart phone or your game station, what do you see? You see that it either works, or doesn’t work. However, wouldn’t you want to know how it works or why it works? How does a piece of plastic, combined with various metals and other material, transform into images and interactive buttons? Well, to help you learn more about the connection between hardware and software, I will explain the concept in simpler terms.

First off, a computer system, which exists in all three platforms (computer, smart phone, and game station), consists of six essential parts: CPU (Central Processing Unit), primary storage, secondary storage, input devices, output devices, and communication devices. The CPU is the brain of the computer processing information and controlling other parts of the system. The primary storage stores information and data during processing while secondary stage stores data that is not used in processing. Input and output devices are necessary for interacting with the system to give or receive instructions. Lastly, communication devices allow information to pass to and from communication networks through circuitry paths.

Now, the computer system accepts information based on bits, which are represented by either a 0 or a 1, otherwise known as binary digits. This is due to the fact that a switch can be “ON” or “OFF,” depending on the flow of electricity in a circuitry path. Therefore, all symbols, words, pictures, etc. are represented by a long “string,” a continuous ordering of zeros and ones, of binary digits. This is the machine’s language and it is how we are able to link software with hardware. For example, pictures are represented by a grid of pixels, with each pixel consisting of a number of bits that is stored to illustrate a whole picture.

Fortunately, you have endured the hardest part of learning about computers: learning the definitions. Now that you know about the basic computer components and how computers communicate, we can dive further into actual programming of hardware in the next blog. Stay tuned for Part 2 of “How Software and Hardware Work Together!”

Source

Good vs. Evil

Computer Virus Statistics

According to Statistic Brain, approximately 40% of all U.S. households were affected by computer viruses. With their data, I created a graph of my own to illustrate what kinds of viruses infect those in the 40%. The purpose of these statistics is not to lecture you about finding a good antivirus program, it is to indicate the creativity and power of programmers. The select few programmers who harm others for their own benefits, otherwise known as hackers, effectively expose the creativity and power evident in programming. This is due to the battle they waged against the programmers who develop for good intentions.

Programming changed the world. It created the Internet and allowed society to advance in everlasting ways. In the virtual world, programmers demonstrated being capable of doing anything from creating a simple game to launching a nuclear device. However, this creates an issue: What happens when a hacker is given this ability? Well, hackers exploit that advantage to steal passwords to bank accounts, control specific computers from anywhere in the world, shut down websites, and many more. Fortunately, hackers can only commit these acts when they infiltrate the security system of a computer or a network of computers; this means that there exist “good” programmers in the world who fight off the hackers by strengthening security and defense systems.

Because of this constant battle between the “bad” and the “good” programmers, code is always changing and constantly improving to either defend against attacks or to penetrate built defenses. I find this very intriguing. Either way, each side of programmers has to be very creative to stump the other side from making a move, and they must do it in a very powerful way in order that the other side does not find a way around it easily.

To give an example, Forbes Magazine reported of a Russian anti-virus software maker, Doctor Web, who identified the “first Trojan in history to steal Linux and Mac OS X passwords,” (New Trojan Backdoor Malware Targets Mac OS X And Linux, Steals Passwords And Keystrokes). When a creative programmer is able to infiltrate the defense of a huge program, such as the Max OS X, programmers spend countless hours to patch the hole of the defense system by revamping the code. It leaves almost no room for the good programmers to fail, as they have to succeed to satisfy customers and regular users.

In a way, programmers are entrepreneurs as competition leads them to create innovative products. Therefore, I encourage you to become a programmer today and fight the battle against hackers or simply create new programs that can change the world today, because programming is powerful and requires creativity.

Let’s Program

Is this you? Are you lacking comfort  and experience with computers and the new trend in programming? Don’t worry we can change that!

Ever wonder why programmers love programming so much? Well, why don’t you give it a try and find out for yourself! Today, I will help you dive into the endless world of coding.

To begin, Codecademy has an awesome interactive website designed to help you learn. The majority of the process involves following directions and learning the syntax of coding to familiarize yourself with basic concepts of programming. Boring? Well, luckily for you, they made it all about you so you can enjoy making your own programs and have fun. For instance, when they ask you for your name and for simple arithmetic, they’re taking basic ideas and incorporating it with complex ideas of programming, so you can be the center of attention and learn at the same time. Isn’t that great? It’s not about the professor or teacher anymore, but it’s about what you: what you decide to make, how much time and effort you want to put into a project, and how you want to design/implement it. On a tangent, this is why hackers love programming so much. They love the attention they inherit when harming others for recognition and demonstration of power. However, in no way am I encouraging you to hack; I only want to emphasize the complete authority you have over your own education in coding.

Code School is another free, interactive website you can utilize in improving your programming skills. They have courses and paths you may take to develop code in areas of your interest, such as HTML for websites, iOS for Apple apps, and JavaScript for games and online applications. Many other resources such as these are available online, and more children are beginning to practice programming at a young age. So don’t fall behind, improve your qualifications and capabilities today by coding at your own pace and time.

Thanks for reading, and I hope you plan on programming soon!

Why Programming Rules

Honestly, I believe programming should be incorporated into the educational system as it is vital to our learning environment. Why is it vital? Well, Mitch Resnick, in his TED Talk “Let’s Teach Kids to Code,” explains clearly how programming teaches not only the aspects of coding itself, but also useful applications of design and logic.

One aspect Mitch talks about is that programming can help kids learn about meaningful concepts in a motivating and contextual way. In other words, he defines it as kids being able to apply what they learned into their own game or project that they are programming, with the help of Scratch software allowing kids without much knowledge to code. He goes on to indicate how children will also learn about the process of design when coding; they learn how to: experiment with new ideas, take complex ideas and break them down into simpler parts, and collaborate with other people on projects, find and fix bugs when things go wrong, and persevere in the face of frustration.

All these things that kids learn when they program are amazing skill sets to have in the real world. For instance, when they eventually find job opportunities, they’ll be able to apply skills they obtained from programming to real-world projects that affect more than just themselves. They’ll be amazing problem-solvers who can persevere, constantly troubleshoot, and find the source of the issue without having to rely on others for any of these components.

The main reason why Mitch decided to talk about this proposal is it is possible now. Before, programming required an extensive background in various languages and computer architecture, but, now, with the help of Mitch’s “Scratch,” kids are able to interactively create programs with pictures and blocks. I believe this is an amazing opportunity for children to take advantage of as it is both fun and educational.

Overall, if I didn’t persuade you enough to start programming, you should definitely watch the video. He does an amazing job of explaining why we should teach kids to code and I can’t agree more. Programming is more than just words and learning a new language. It is about teaching you how to think that gets applied to real-life projects. I hope you enjoyed this read and can give some feedback below if interested. Thanks.

How Programmers Think

Often, it is interesting to examine how professionals and experts in their own special fields think, and how the way they think aids them in their specialization. So, today, I just want to explore the minds of programmers–how they think and how that aids them in the process of programming.

Programmers like to think outside the box. When they encounter an issue, they don’t just focus on the problem itself, but they like to dig deeper to identify the source of the problem and possible relations with other working solutions. Justin James explains further on this concept, as he explains, “Too many people fail to look outside of the immediate problem when writing code; they are so focused upon the trees, they do not see the forest,” (“How to Think Like a Programmer: Part 1“). In the brains of programmers, such big thinking is common. They like to analyze an issue as part of something bigger, or more general, that caused the issue in the first place.

To provide a personal testimony to this concept, when I’m writing a program, I have a general picture or idea of how I’m going to write the actual program. So I create the basic structure and design of the program first, before implementing each part of the program. Basically, I form the backbone of the code first and then go back to fill the bones with meat; and, when I encounter an issue, I like to observe why I wrote the specific line of code with the error in the first place before trying to fix it.

The more obvious mindset found in programmers is that they are logical and resourceful thinkers. Justin explains further on this concept, concluding how great programmers come from a background of physics, mathematics, or “other similar scientific fields.” In context, programmers would use their physics and mathematics backgrounds to instruct the computer to construct data, equations, and other useful tasks needed for certain programs.

Overall, programmers are the problem-solving maniacs who think outside the box and use what they are given to complete a task logically. As boring as they sound, programmers are proven to handle situations very effectively with much thinking. So, find yourself a programmer and let them solve all your problems!

If you have any questions, please leave a comment and I will respond as soon as possible. Thank you for reading!

Professional Starcraft

The Starcraft progaming scene of South Korea

Learning Android Development

1st Year CPE trying to learn Android

The Art of Video Games

Your daily dose of the world of virtual reality.

Technological Wonders

Discussing the latest technological innovations.

the7seconds

English 149 Blog

Simple Motors

Applications to electrical engineering

Inside the Automobile

It began as a technical writing project...

Bill Mak - Computer Parts

Going Past Numbers

Digitally Savvy

The latest on modern digital technology

All About the Environment

new and exciting environmental updates

mjloweblog

A Window Into My World

Techno Magic

Taking the mystery out of your electronics.

Where are the Gears?!

A Mechanical Engineer Plays With Circuits

What's New in Computing

An attempt to keep both you and me up to date in the ever changing world of computers

rlhbc

Richard Liu's blog

Coding the Matrix

Computer science's application in video game development

Defense Company Profiler

Giving Detailed Information on the Major Defense Companies

Ryan Lee - Puppies

All about different dog breeds

An Introduction to Electrical Engineering

Useful Information For EE Students

Crazy Technology

Technological advances that will blow your mind

Soccer Ball Design History

This WordPress.com site is the cat’s pajamas

ENGINES AND SYSTEMS

Mechanical-Aerospace-Electrical

This week in Baja

Learn by braking

The Tech Tree

keep up with the latest tech news

Lost in Translation

A look into language translation and voice recognition software.

Engineering at Home

a collection of homebrew projects

Architecture of Aggression

Dynamics of Firearms

Incredible Aeronautical Inventions

Great examples of impressive human ingenuity .

Biomedical Engineering Advancements

Learn about new technology and products in the biomedical industry

Jeslin James

Exploring jobs in the CPE field

Biomedical Companies

Learn more about potential companies to work for as a biomedical engineer

Above The Stratosphere

A tab on current innovations in the aerospace community.

Kyle Koon - English 149

My thoughts on the latest in innovation and technology

Modern Environmentalism

Today's Environmental Issues, Products, and Solutions

jalemus

The Latest Technology

U.S. Navy Technology

ENG 149 Blog by James Pilkington

Tech Bytes

What is going on with technology in the world today.

English149

Exploring blogging as a form of technical communication

Becoming a Programmer

ENGL 149 Tech Writing