Friday, April 14, 2017

Entry 10 - Algorithmic Trading


http://www.businessinsider.com/heres-how-you-set-up-your-own-high-frequency-trading-operation-2010-6?op=1/#-test-your-setup-and-make-sure-everything-is-functioning-properly-both-on-your-end-and-any-third-party-softwarehardware-vendors-end-10

Topic:

Since the financial crisis in 2008, new technology has changed the way many trades (see terminology for specific definition) are executed. Rather than having human beings responsible for executing each trade, complex algorithms have been created that are able to execute trades much more quickly. These programs are able to identify opportunities that may only be available for a fraction of a second and complete trades in time to capitalize on these opportunities and potentially make millions in a matter of seconds. However, it is incredibly important that the companies and individuals using these algorithms have a proper understanding of computer science because while there is the potential to make lots of money, there is also the possibility of losing everything in a matter of seconds. A specific example of this happening was when a program at Knight Capital that was supposedly deactivated "took off on it's own" and sent the entire New York Stock Exchange spiraling out of control[4]. Knight was losing more than $10,000,000 a minute, which if left unresolved would leave the firm with no funds in under an hour[5]. Fortunately they were able to find the code responsible for the problem and remove it within 45 minutes. 

Terminology:

Algorithmic Trading - the process of using computers programmed to follow a defined set of instructions for placing a trade in order to generate profits at a speed and frequency that is impossible for a human trader. The defined sets of rules are based on timing, price, quantity or any mathematical model[1].
High Frequency Trading (HFT) - High-frequency trading (HFT) is a program trading platform that uses powerful computers to transact a large number of orders at very fast speeds. It uses complex algorithms to analyze multiple markets and execute orders based on market conditions. Typically, the traders with the fastest execution speeds are more profitable than traders with slower execution speeds[2].
Trade - In financial markets, trading refers to the buying and selling of securities, such as the purchase of stock on the floor of the New York Stock Exchange[3].

Relation to Computer Science:

This topic relates to computer science in several different ways. One of the most obvious being the actual algorithms used in the trading process. Another important relation to computer science has to do with the hardware and software involved. Because this entire process happens so quickly, it is important to have your server as close as possible to the exchange. One of the ways that this is generally done is by co-location of servers within data centers[6]. In doing this, one can greatly increase the speed of orders being executed. Related to what we have learned in class, proper testing is needed to ensure all algorithms are functioning properly before they can be put into us. Many firms typically apply the algorithms they are testing to historical market data in order to see how the program deals with different situations. 

Works Cited:

[1] - Seth, Shobhit. "Basics of Algorithmic Trading: Concepts and Examples." Investopedia. N.p., 26 Jan. 2016. Web. 14 Apr. 2017.
[2] - Staff, Investopedia. "High-Frequency Trading - HFT." Investopedia. N.p., 23 July 2009. Web. 14 Apr. 2017.
[3] - Staff, Investopedia. "Trade." Investopedia. N.p., 02 Mar. 2016. Web. 14 Apr. 2017.
[4] - Baumann, Nick, Bryan Schatz, Pema Levy, and Tim Murphy. "Too Fast to Fail: How High-speed Trading Makes Wall Street Disasters Worse." Mother Jones. N.p., Jan. 2013. Web. 14 Apr. 2017. 
[5] - Ibid.
[6] - Veneziani, Vince. "Here's How You Set Up Your Own High-Frequency Trading Operation." Business Insider. Business Insider, 08 June 2010. Web. 14 Apr. 2017.

Friday, April 7, 2017

Entry 9 - Computer Science and UAVs



There have been many issues with the use of manned aircrafts throughout history due to the potential danger that the pilots flying these planes are exposed to. During the Cold War period, a CIA pilot was captured when his plane was shot down while he was flying over Soviet airspace. The Soviets had been previously unaware of any U.S. aircrafts in the area, and this revelation further increased tensions.[1] However, as technology continues to advance, the potential uses of technology in warfare continue to grow as well. One particularly beneficial technological advance was the invention of unmanned aerial vehicles. These planes increase the safety of troops, by completely removing them from the area. In recent years, several types of UAVs have been created to serve different purposes during both wartime and peace.   

Terminology:


Unmanned Aerial Vehicle (UAV) – an aircraft with no pilot onboard.[2]

Types of UAVs[3]
  • Target and decoy - providing ground and aerial gunnery a target that simulates an enemy aircraft or missile
  • Reconnaissance - providing battlefield intelligence
  • Combat - providing attack capability for high-risk missions
  • Research and development - used to further develop UAV technologies to be integrated into field deployed UAV aircraft
  • Civil and Commercial UAVs - UAVs specifically designed for civil and commercial applications.

Relation to Computer Science:


This topic relates to computer science because of how these aircrafts are created. In order to increase the distance from which these planes can be controlled and the speed at which they can respond to and execute commands. Currently, the hardware for these planes is being created and developed much more quickly than the programming for the autonomy of the hardware can be written. Several countries are spending large amounts of money to try and speed up the autonomy process, but the hardware industry for UAVs is still much more developed.




[1] “Battle by Binary.” Computer Science for Fun, Queen Mary, University of London, www.cs4fn.org/history/battlebybinary/warnumbers.php. Accessed 7 Apr. 2017.
[2] “The UAV - The Future Of The Sky.” The UAV - Unmanned Aerial Vehicle, www.theuav.com/. Accessed 7 Apr. 2017.
[3] Ibid.

Friday, March 31, 2017

Entry 8 - Tech Firms Help Fight Human Trafficking

https://polarisproject.org/resources/2015-hotline-statistics


Topic:

Terminology

Human Trafficking - a form of modern-day slavery in which traffickers use force, fraud, or coercion to control victims for the purpose of engaging in commercial sex acts or labor services against his/her will.[1]

DARPA - Defense Advanced Research Projects Agency

While a large number of people fail to recognize how prevalent human trafficking still is in the world today, many organizations are trying to help in the fight against this form of modern-day slavery in many ways. Historically, many cases of trafficking have been difficult to prosecute because victims are too afraid to testify or there is insufficient evidence to support the allegations. However, as more and more human trafficking rings operate through the Internet, data science is becoming a particularly useful tool in successfully identifying and prosecuting the leaders of these operations. In 2015, Carnegie Mellon University (CMU) received a $3.6 million dollar research grant from DARPA to develop machine-learning code aimed at identifying potential cases of human trafficking on the web.[2]

Relation to Computer Science:


Human Trafficking relates to the field of computer science because of the technologies used in order to try and stop/prevent human trafficking. The work being done at CMU incorporates many aspects of computer science. The algorithms being developed there are helping scan the Internet and identify advertisements and other postings that may be related to human trafficking. These computer programs generally operate by identifying keywords and certain aspects of images and flagging them for law enforcement officers to review. Machine-learning is especially helpful because as certain users or patters are noticed, the algorithms are able to tailor their searches and process information even more quickly than humans. 

 National Human Trafficking Resource Center 1 (888) 373-7888




[1] "Human Trafficking." National Human Trafficking Hotline. N.p., n.d. Web. 31 Mar. 2017.
[2] Harris, Derrick. "DARPA-funded Research IDs Sex Traffickers with Machine Learning." Derrick Harris. Gigaom, 13 Jan. 2015. Web. 31 Mar. 2017.

Friday, March 24, 2017

Entry 7 - Women in Computer Science

http://www.letsdomore.com/blogs/when-computers-quit-women/

Topic:

Over the last ten to fifteen years, the number of women working in computer science related professions has declined by approximately 10% despite the face that the percentage of women in the workforce has been increasing.[i] Shockingly, the declining number of women in the field of computer science has less to do with the topic itself and more to do with how it is represented and marketed in society today. One of the primary conclusions drawn as to why this trend has emerged states, “the first personal computers were essentially early gaming systems that firmly catered to males. While early word processing tools were also available, the marketing narrative told the story of a new device that met the needs of men.”[ii] In order to try and increase female interest in computer science and engineering, girls are being introduced to computer science and other math topics at a younger age to stimulate their interest in the subject.

Relation to Computer Science:


http://www.aauw.org/research/solving-the-equation/ 
For this particular topic, I find it more beneficial to relate it back to why woman should want to work in computer science rather than to just focus on the subject as a whole. One of the major reasons that it is important for women to hold positions in the field of computer science is because men and women often have different ways of thinking and going about solving problems. Another big reason why positions in technology fields are attractive to women is because research found on tech companies shows that they offer women a greater work-life balance than many other companies do.[iii] This is also seen in the amount of time women are granted for maternity leave. Companies such as SAS and Google offer substantial time off for all new parents (both men and women) and help to make the transition back to the workplace as smooth as possible by helping to find childcare at affordable prices.[iv]

Women in the Tech World





[i] "Women in Computer Science." ComputerScience.org. ComputerScience.org, 2017. Web. 23 Mar. 2017.
[ii] Ibid.
[iii] Ibid.
[iv] Ibid.

Friday, March 17, 2017

Entry 6 – Coding Games for Kids

Topic:


Over the last several years, it has been increasingly common for parents to begin teaching their children to code almost as early as they teach them how to read. Many companies that design games for kids have noticed this new trend and are trying to find ways to profit from it. They have created many different sorts of games that incorporate basic coding skills into fun, kid-friendly activities. The Code-A-Pillar, designed for children ages 3 – 8, performs tasks in an order determined by what position its pieces are placed in.[1] Other games such as the LEGO Boost Robotics Creative Toolbox allows kids to first design 5 LEGO friend and then, using instructions from an app, make their new ‘friends’ complete specific tasks.[2] While these companies’ main goals are to make a profit, they have made sure to introduce coding games at all price points so they are accessible to families from a variety of economic backgrounds.

Relation to Computer Science:


This directly relates to the field of computer science because it involves the study of computer science (even though the children may not realize it). It also helps to stimulate problem solving in children. Many of these parents are not only doing this because of the high demand for computer scientists in today’s world, but also due to the overall benefits to their children’s critical thinking abilities. Mitchel Resnick, director of the Lifelong Kindergarten Group at MIT’s Media Lab, highlights many of the educational benefits children gain by learning to code at an early age saying, “Coding games and puzzles helps children go beyond a passive role with technology, using it only to receive information or entertainment, to seeing it as a tool for creating things, expressing their ideas and sharing them with others…It also instills design and problem-solving skills, enabling children to continually adapt and improve strategies. Many learn basic math too, such as working with coordinates to place figures or lines at a specific place on the screen.[3]” The children are not the only ones learning to code through these toys. Many parents who always believed that programming was too complicated for them to learn have started to take programming classes after seeing how much their kids have enjoyed it.

Works Cited:



[1] LASCALA, MARISA. "The 12 Best STEM Toys That Teach Kids to Code (for Toddlers to Teens)." Working Mother. N.p., 2 Feb. 2017. Web. 17 Mar. 2017.
[2] LASCALA, MARISA. "The 12 Best STEM Toys That Teach Kids to Code (for Toddlers to Teens)." Working Mother. N.p., 2 Feb. 2017. Web. 17 Mar. 2017.
[3] Shellenbarger, Sue. "New Ways to Teach Young Children to Code." The Wall Street Journal. Dow Jones & Company, 09 Feb. 2016. Web. 17 Mar. 2017.
Image: https://cdn.penguin.com.au/covers/original/9781740333405.jpg 

Friday, February 17, 2017

Entry 5 – Bioinformatics and Cancer


Topic:


Cancer research is one of the areas of healthcare where bioinformatics is most widely used. BioMed Central addresses why bioinformatics is incredibly helpful in cancer research saying:
With increasing evidence that the interaction and network between genes and proteins play an important role in investigation of cancer molecular mechanisms, it is necessary and important to introduce a new concept of Systems Clinical Medicine into cancer research, to integrate systems biology, clinical science, omics-based technology, bioinformatics and computational science to improve diagnosis, therapies and prognosis of diseases.[i]
One of the ways in which medical professionals hope that bioinformatics will be able help advance cancer research is by using biomarkers in conjunction with patients symptoms and prognosis to find common links between certain genes and the severity and type of cancer the patient develops. Going forward, people hope to be able to use various algorithms to predict which individuals are more likely to develop cancer in their lifetime and attempt to resolve the issue before cancer is able to develop.

Important Terminology:


·      Bioinformatics - the collection, classification, storage, and analysis of biochemical and biological information using computers especially as applied in molecular genetics and genomics[ii]

·      Biomarker - a distinctive biological or biologically derived indicator (as a metabolite) of a process, event, or condition (as aging, disease, or oil formation)[iii]

Relation to Computer Science:


Computer science is one of the most important aspects in bioinformatics as the study of bioinformatics has become more popular. One particular reason that computer science is so important in bioinformatics is because establishing the infrastructure to handle and analyze all of the data and providing proper access and security to the data are critical.  Ensuring that a patient’s privacy is not compromised as the data is collected and analyzed has to be taken into consideration as well. One of the ways that this is being done is by assigning random numbers to patients and keeping the catalog of what numbers are associated with which patient on a separate, secured network. Computer scientists and data analysts are also a necessary part of the bioinformatics team because the majority of the healthcare providers involved are not educated on how to process and analyze large amounts of data.

Works Cited:


[i] "Cancer Bioinformatics: A New Approach to Systems Clinical Medicine." BMC Bioinformatics. BioMed Central, 01 May 2012. Web. 17 Feb. 2017.
[ii] "Bioinformatics." Merriam-Webster. Merriam-Webster, n.d. Web. 17 Feb. 2017.
[iii] "Biomarkers." Merriam-Webster. Merriam-Webster, n.d. Web. 17 Feb. 2017.