As many of you know in the past few months I’ve decided to pick up a few new programming skills in web and mobile development. This month through a combination of online sources and coding camp, I’m learning HTML5, CSS, and Jquery. I put a little of my knowledge in HTML to work to build a website called repowered. So far I’ve managed to set up my hosting account to serve the html index page (the main page of the website) and I added a statement along with a photo.
Someone asked me what an algorithm is. My explanation was a set of steps to follow in order to accomplish a certain task. Coming up with an algorithm is usually not difficult for most easily computable calculations. Why are they important? Because computers are discrete devices, they need to be told exactly what to do and how to do it concisely. That’s why a lot of research focuses on making algorithms more efficient, leading to a reduction in computation time. I’ve been spending time learning, re-learning, and coding some simple algorithms. I usually whiteboard the solution, code it and write down in my notebook.
Some Well-Known Algorithms:
- Comb Sort: http://en.wikipedia.org/wiki/Comb_sort
- Bubble Sort: http://www.algolist.net/Algorithms/Sorting/Bubble_sort
- Dijkstra’s: http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
- Convex Hull: http://en.wikipedia.org/wiki/Convex_hull_algorithms
Tonight, I went to my first Code for Miami meeting, a volunteer group that meets weekly working on web and mobile projects that help Miami-Dade local government and civic organizations. The meetings take place at “The Lab” a collaborative space for innovation in Miami’s Art/Design District. It was refreshing to see so many people using their technology skills to provide benefit to the community. I’ll be working on a project that involves building a portal to display data collected from local government agencies. I’m really excited to put my skills to use.
Distinguishing between a complicated and complex problem or system is not an easy task for most. As Sargut and McGrath argue, if individuals in a business are unable to differentiate between these two distinct terms, it will be very expensive for a business in the long run. It’s necessary the distinction be made because how you approach a problem changes drastically depending on the type of system. What is the difference between complicated and complex? Simply put, a complicated system is predictable if it follows patterns that can be observed. This leads to a system that is definable such that past behavior predicts future behavior.
As my friend put it, intricate is probably the best word to describe a complex system. Complex systems are unpredictable and sometimes undefinable. In a complex system the initial conditions can lead to different outcomes. The question then becomes how can we define a complex system. The three most important characteristics of a complex system are multiplicity, interdependence and diversity. Multiplicity refers to the number of potentially interacting entities, interdependence to how connected these elements are, and diversity to how heterogeneous each element is.
Manufacturing is extremely complex, with a lot of interdependent pieces. If we ignore those pieces our ability to solve problems falls apart. At times we are faced with problems that transcend a particular part of the process on which we are focused. If the scope of the problem is not realized, our ability to solve it is severely impaired because we may be searching for solution that address symptoms and not root causes.
How do you solve complex problems in contrast to their complicated counterparts?
Complicated problems have blueprints; you can draw on expert knowledge and previous experience to create a solution. You can perhaps consider these types of problems the ones where you can open a textbook and find the answer, or in the case of a business, consult an expert on the subject.
Complex problems are not so simple. There is no blueprint, no readily modifiable solution. The solution is determined on a case by case basis. When it comes to complex systems, no two situations are alike. Forcing a pre-made solution to a complex problem can bring disastrous consequences, since using the wrong metrics on a complex system can lead to inefficiencies and a false sense of security which I will discuss in another section.
1. Sargut, Gökçe, and Rita McGrath. “September 2011.” Harvard Business Review. N.p., n.d. Web. 10 Jan. 2014.
The Rev. Martin Luther king was one of the most famous Civil Rights Activists of the 20th century. Born in Atlanta, Georgia, King worked tireless to organize nonviolent civil disobedience to promote the advancement of civil rights. He is most known for helping organize the 1963 March on Washington, one of the largest human rights rallies in United States history. There King went into American history as he delivered his “I Have a Dream” speech urging for integration and equal rights for African-Americans. August 8, 1963 was a watershed moment in the civil rights movement bringing more support to end discriminatory laws. Many credit the March on Washington with getting the Civil Rights Act of 1964 and the Voting Rights Act of 1965 passed. The Civil Rights Act outlawed discrimination against racial, religious minorities and women signed into law by Lyndon B. Johnson. The subsequent Voting Rights Act prohibited having any qualifications to vote based on race or color.
I think what’s hard to grasp is 50 years ago discrimination would have been legal. It’s hard to imagine that 50 plus years ago, I would have to drink out of separate water fountain from my non-black friends and I wouldn’t be allowed to eat in certain places. It truly is amazing how far we’ve come in this period from segregation to the election of the first black president. Today is indeed a special day, 50 year ago it marked the beginning of a dream that was finally realized.