X Close

UCL Student Blog

Home

Menu

Archive for the 'Media Review' Category

Review: Computing At School by BCS

Neema Kotonya4 April 2016

For a number of years, the British Computer Society (BCS) has run an online platform it has developed in partnership with schools and educators to help secondary school teachers who are new to teaching computer science and technology.

This platform is called Computing At Schools (CAS). Currently CAS has 150 regional hubs, over 20,000 registered users and more than 3,000 teaching resources. The teaching resources are available both through the official CAS website. There are also video tutorials available on the newly launched YouTube channel CAS TV. The CAS community offers support to teachers both online in form of discussion forums, and also offline in the form of regional group meetings.

As well as offering a great teaching aides for educators, the YouTube channel doubles as a useful resources for learners who are new to coding. The online video lessons are available to individuals who want to learn how to program in their own time, and at their own pace.


 

 

Podcast Review: Tech Tent

Neema Kotonya15 March 2016

Tech Tent is a new periodical BBC podcast, hosted by the BBC technology editor Rory Cellan-Jones. Each week Jones brings his audience news on the latest goings-on in the world of technology. In the most recent episode, titled Beyond the Connected Kettle.

Another segment of the podcast discusses Google’s artificial intelligence (AI) research team DeepMind, whose AI Alpha Go, at the time of the podcast recording, had just successfully completed its first game of Go (an ancient Chinese board game).  Late last week, Go World Champion, Lee Sedol, became the first human player to defeat the AI at the game, after previously being defeated by the AI. Lee was later defeated by the AI, leaving Alpha Go’s win-loss ratio at 4-1.

It was interesting to hear the different prospectives of academics concerning whether this achievement by the DeepMind team means we are a step closer to realising AIs which can rival human beings in intelligence. An Imperial College London professor stated that though the AI is able to outperform professional players in the highly complicated strategic game of Go, Lee Sedol and other human beings can perform tasks such as running, driving and cooking which Alpha Go can not, so until programs which have a large repertoire are developed, we are still a long way away from human-level intelligence.

Jones cohosts this segment with Andrew Stanford-Clark and Jeni Tennison, who share their views on the success of DeepMind’s Alpha Go. As a computer science student who is taking a module in artificial intelligence, I found this discussion to be particularly interesting, as it gave me a different perspective on AI to the one which I have previously encountered during my studies.

BBC Tech Tent Podcast

The subject of the second segment is The Internet of Things and personal data. For this half of the podcast, Jones investigates the new and exciting prospects presented by the Internet of Things (IOT) and how this will affect the way we live our lives and go about accomplishing everyday household tasks. The Internet of Things is the idea that electronic processes and tasks can be accomplished much more efficiently if all digital devices are connected to the Web.

Now that I have listened to this episode, I will definitely be downloading the previous episode as well as subscribing to the podcast. I like the fact that the podcast is approachable for those who are from a non-technical background, but at the same time the depth and breadth of conversation means that it is also interesting to those who are more tech savvy. Also, if you prefer to read, Tech Tent publishes a weekly newsletter,  which can be subscribed to here.

Rating: 4 out of 5 stars.


 

Podcasts:

  1. Tech Tent – Beyond the Connected Kettle: Prod. credit Unknown, Prod. British Broadcasting Corporation, Prod. country United Kingdom of Great Britain and Northern Ireland, 15:05 11/3/2016, BBC World Service, 27 mins. http://bobnational.net/record/391655 [radio programme, online] (Accessed 15/3/2016)
  2. Click – 8th March, 2016: Prod. credit Unknown, Prod. British Broadcasting Corporation, Prod. country United Kingdom of Great Britain and Northern Ireland, 13:45 8/3/2016, BBC World Service, 30 mins. [radio programme, online] http://bobnational.net/record/391658 (Accessed 15/3/2016)
  3. Tech Tent – India Halts Free Facebook Plan:  Prod. credit Unknown, Prod. British Broadcasting Corporation, Prod. country United Kingdom of Great Britain and Northern Ireland, 15:05 12/2/2016, BBC World Service, 27 mins. http://bobnational.net/record/391654 [radio programme, online] (Accessed 15/3/2016)
  4. Tech Tent – Driverless Cars on Collision Course?: Prod. credit Unknown, Prod. British Broadcasting Corporation, Prod. country United Kingdom of Great Britain and Northern Ireland, 15:05 4/3/2016, BBC World Service, 27 mins. [radio programme, online] http://bobnational.net/record/391656 (Accessed 15/3/2016)

Other useful resources:

  1. If you do not have access to BoB National  the Tech Tent podcasts can be downloaded in mp3 format from this page: http://www.bbc.co.uk/programmes/p01plr2p/episodes/downloads.
  2. BBC Click podcasts can be downloaded here: http://www.bbc.co.uk/programmes/p002w6r2/episodes/downloads.

Review: Coding Practice Websites – HackerRank, LeetCode OJ and TopCoder

Neema Kotonya4 January 2016

Autumn term is the time most university students apply for summer internships, and if we are lucky we will either be called for interviews during this term or during the next term. For computer scientists like myself (and some engineering students), these interviews are are likely to feature a a segment that tests our coding ability, especially if we are applying for a software development role. Coding interviews are known to be unpredictable and often feature very challenging problem-solving tasks. On account of this, it’s important that candidates prepare, and the best way to do this is by practising problems, which test their knowledge of algorithms and data structures.

There are a number of websites that offer coding practice resources. I will be reviewing three of them in this article: LeetCode Online Judge, TopCoder and HackerRank, but I will also include links to other useful sites at the end of the post.

Top Coder is an established and well-respected competitive coding website. Employers such as Amazon, Facebook, IBM, Microsoft and Salesforce use the website for crowdsourcing. The website also hosts hackathons where users can compete against each other for cash prizes. What I like about Top Coder is that it gives you the option of registering with their GitHub accounts, as well as the usually options of creating an account with them or using your Facebook or Google accounts, but this is not a unique feature and many competitive coding websites offer a similar registration option. There is also a wide range of content on website, however this can also make it tricky to navigate and find out where to go for algorithm and data structures revision. I would advise starting with the Single Round Matches: Practice Problems.

In this section problems are classified by difficulty (easy, medium and hard), which determines their points-value. Clicking on a problem opens up the problem area, which gives you a description of the problem, a list of constraints, test cases and other useful information for solving the puzzle. TopCoder also provides an editor, which supports Java, C++, C#, Visual Basic and Python. Note: you will most likely need to expand the coding area to view all the language and line numbering options on your browser.

Image of TopCoder Problem Area

HackerRank boasts a database of over 800 problems and support for over 30 programming languages. Like TopCoder it also allows users to log in using their GitHub account, but the logging in/registering process is a lot quicker. I think the website itself has a great UI overall. When you first log in, you are asked to pick areas of interest so that you can target your coding practice. This is a great feature, though the sheer number of options can be slightly overwhelming!

Users have the option of selecting problems from a multitude of domains, these could be topics like mathematics, algorithms and data structures, or languages like Python, Java and C++. This allows you to hone in on the topics with which you feel less confident. There are also a number of warm-up excises to ease you in. As the name HackerRank suggests, the more problems you solve the more points you earn, and these points are converted into a rank, which gives you an indication of how well you are performing compared to all the other competitors on the website.

Image of HackerRank Options

Image of HackerRank Coding Environment

Last but not least there is LeetCode. This is website I regularly use for my interview preparation. I like it because it is simpler and not as “busy” as HackerRank or TopCoder. There are not as many problem sets as either of the other two websites, and some of the problem sets are only available to paying customers, but I still think that there are enough challenging problems for an interview candidate to sink their teeth into. Also, the problem statements are not as long-winded as those on TopCoder, and in my opinion as the problems are more in line with the questions you are likely to be asked in a coding interview. Furthermore, it’s not necessary to register an account in order to use the website’s resources.

The coding environment provided on LeetCode supports C++, C#, C, Java, JavaScript, Python and Ruby.

LeetCode Problem Sets

Image of LeetCode Coding Environment

In summary, I would say that there are no better or worse coding websites, some are simply better suited to a specific purpose. If you are interested in tackling challenging problems, but don’t want to be given too much guidance I would advice trying LeetCode. For more more niche topics I would recommend HackerRank, and if you are interested in longer and rigorous problem sets TopCoder is the best site for you.


 

Resources mentioned in the blog post

  1. Hughes, J et al. (2015). TopCoder. [online]. Available from: https://www.topcoder.com/ [Accessed: 21/12/2015]
  2. Ravisankar, V et al. (2015). HackerRank. [online]. Available from: https://www.hackerrank.com/ [Accessed: 21/12/2015].
  3. Unknown (2015). LeetCode Online Judge. [online]. Available from: https://leetcode.com/problemset/algorithms/ [Accessed: 21/12/2015].

Other useful resources

  1. Miller, B. Ranum, D. (2011). Problem Solving with Algorithms and Data Structures Using Python. [interactive e-book]. 2nd Edition. Runestone Interactive. Available from: http://interactivepython.org/runestone/static/pythonds/index.html  [Accessed: 21/12/2015]
  2. GeeksforGeeks (2015). GeeksforGeeks – A Computer Science Portal for Geeks. [online]. http://www.geeksforgeeks.org/ [Accessed: 21/12/2015]

A Brief History of Programming Languages: A Review of “Codes That Changed the World”

Neema Kotonya9 December 2015

As part of the Make It Digital campaign, in April BBC Radio 4 first broadcast a series about “Codes That Changed the World,” in which journalist Aleks Krotoski presents a history of programming languages divided into five easily digestible 15-minute sound bites. The first four episodes focus on a different programming language in chronological order from Fortran, which is widely considered the progenitor of an modern computing languages, to Java, a language most of people have heard of even if they know little about it.


Family Tree of Computer Languages

Krotoski introduces key computing terms such as compilers, interpreters, low level languages, high level languages and functional programming languages using uncomplicated language and real-world analogies. I found this refreshing because often computer science theory is presented using mathematical notation and complex technical terminology, which can be daunting for beginners and non-engineers.

The episodes feature interviews with women programmers like Barbara Alexander (Ep 1, Fortran), Jill Clark (Ep 2, Cobol), Sophie Wilson (Ep 3, Basic) and Haskell coder Elise Huard. This disrupts the notion that computing and the tech industry is solely the realm of men and highlights the contributions made by women in tech. Although, this does not discount the fact the barriers-to-entry were high for women technologists in the fifties and sixties. Alexander remarks that upon graduating from Cambridge University she was told at the women’s job appointments board that she “must want to teach since she had done maths.” She firmly told them that no, she did not, and took herself to the men’s appointments board where she landed her first job as a Fortran programmer.

Also, a large part of the Cobol episode is dedicated to the work of Grace Hopper, an American computer scientist who was arguably one of the most influential women in twentieth century computing. Hopper sat on the committee responsible for developing Cobol (Common Business-Oriented Language) and strongly advocated that the language should be as close to written English as possible so as to encourage as many people as possible to take up programming. Hopper gives her name to the world’s largest celebration of women in computing and the London Hopper Colloquium, a conference for women computer science researchers that is co-hosted by UCL and the British Computer Society.

In the final episode Krotoksi and technology writer Rupert Goodwins discuss how we now have specialised programming languages, which are developed to perform niche jobs. They also explain how the existence of very large code bases and how the management of these code bases is essential for them to work properly and to avoid the high costs of system failure.

As a computer science student, I thought that the radio series was very informative and well-produced. Although, I did find the background music, what sounded like punch-card machine in the earlier episodes that evolved into electronic dance music and a computer-synthesised voice singing code, slightly off-putting and unnecessary. Overall, I’m really pleased that the BBC made a show about coding and the history of computer science.

Rating: 4 out of 5 stars.


Codes That Changed The World Episodes 1 to 4 (from Box of Broadcasts):

  1. Codes That Changed the World: Fortran, [radio programme, online], Prod. credit Peter McManus, Prod. British Broadcasting Corporation, Prod. country United Kingdom of Great Britain and Northern Ireland, 13:45 6/4/2015, BBC Radio 4, 15mins. http://bobnational.net/record/287133, (Accessed: 05/12/2015).
  2. Codes That Changed the World: Cobol, [radio programme, online], Prod. credit Peter McManus, Prod. British Broadcasting Corporation, Prod. country United Kingdom of Great Britain and Northern Ireland, 13:45 7/4/2015, BBC Radio 4, 15mins. http://bobnational.net/record/287134, (Accessed: 05/12/2015).
  3. Codes That Changed the World: Basic, [radio programme, online], Prod. credit Peter McManus, Prod. British Broadcasting Corporation, Prod. country United Kingdom of Great Britain and Northern Ireland, 13:45 7/4/2015, BBC Radio 4, 15mins. http://bobnational.net/record/287135, (Accessed: 05/12/2015).
  4. Codes That Changed the World: Java, [radio programme, online], Prod. credit Peter McManus, Prod. British Broadcasting Corporation, Prod. country United Kingdom of Great Britain and Northern Ireland, 13:45 7/4/2015, BBC Radio 4, 15mins. http://bobnational.net/record/287132, (Accessed: 05/12/2015).

Also, all the episodes can be downloaded as podcasts from the BBC:

  1. BBC iPlayer Radio Codes That Changed the World [podcast, online], Prod. credit Peter McManus, Prod. British Broadcasting Corporation, Prod. country United Kingdom of Great Britain and Northern Ireland, 10/4/2015, BBC Radio 4, 75mins.  http://www.bbc.co.uk/programmes/b05qqhqp/episodes/downloads (Accessed: 5/12/2015)

Bentham Returns

zcleevp7 October 2015

Bentham2011_071Sitting in his splendid wooden box in South Cloisters , Jeremy Bentham is a slightly eccentric and potent reminder of the rich history of UCL.

This blog written by 2nd year Department of English student, Ellie Pearce and perfectly captures the moment JB awakens in the middle of UCL digifest and records his thoughts…..

My dear UCL Students,

It was a great pleasure to attend your Digifest event in November of last year, a truly splendid week of events that enlightened me on many modern issues of technology and computing.

It took me a little while to digest this new-fangled concept of the ‘Internet’ of which you all so often speak, yet having come to terms with the ‘smartphone’ and the ‘Mac Book’ – not in fact a book at all, but a rather valuable looking object that allowed me to share my thoughts about Digifest with you all ‘on the web’ – a new-term of phrase that several have since reassured me has nothing whatsoever to do with arachnids.

Once I began to understand the value of being able to share one’s thoughts and ideas with the entire world in one moment without the need to spend decades of one’s life writing arduous letters, I was truly amazed, and feel that I can only support what is such an excellent platform for promoting equality and spreading the importance of utilitarian values.

One particular lecture, expertly delivered by Mr Javier Sajuria and Mr Paolo Morini, spurred my interest as I recognised in their discussion elements of my own utilitarian theories. Their argument explored whether our use of the Internet might change politics and make politicians more accountable for their wrongdoings, or whether reading information online might encourage younger people to vote in parliamentary elections. (I was delighted to see that women were also allowed to vote in these modern times. I’ll let JS Mill know – he’ll have a field day.)

My unshakable belief in the principle of ‘the greatest happiness for the greatest number’ meant I was immensely encouraged to hear Mr Sajuria argue the case that yes, the ‘Internet’ was able to facilitate campaigns and improve the lives of the needy by making politicians accountable for their unfavourable actions. I learnt much about the ‘Occupy’ movement, a group coordinated through the Internet across the world to protest against social inequality and injustice. For the first time in my experience, I heard of different countries and even continents being able to correspond with ease and using the Internet to band together for a common cause of social equality. This is fantastic news!

If I may take a moment to mention my ‘Hedonic Calculus’ (my way of measuring the amount of pleasure or displeasure an action produces), the mild displeasure experienced by those complaining about ‘Occupy’ taking over public spaces is vastly diminished by the mass pleasure this could bring about for the needy, should governments take heed of their campaign. As an action that therefore produces more pleasure in the world than it does pain, I greatly admired the work of ‘Occupy’. I may go and purchase myself a tent.

We continued to talk about the importance of online petition websites such as Change.org in swaying negative government decisions, and then spoke of how the Internet is sometimes used by politicians to raise money for their political campaigns (I’m not too sure this pleases me). It certainly seemed a valid argument that this new ‘Internet’ has an ability to sway politics, for good or for bad.

Mr Sajuria also mentioned the important influence of online group ‘Anonymous’, a concept that greatly piqued my interest. The idea of a group worldwide attacking social injustice seems an excellent and rather exciting idea, although I was a little perturbed that all of their members look uncannily alike to that fellow who tried to blow up Parliament a century or so back. Perhaps I need my eyesight checking.

He then went on to discuss the alternative: why the Internet might not be so helpful in changing negative political behaviour. We talked about the attitude of ‘slacktivism’, a concept as vulgar as the word itself sounds. I was appalled at the suggestion that modern individuals hear about issues of hardship abroad, but feel they are too remote to cause change and so do nothing to fix the problem until it begins directly affecting their home country. It greatly angered me that in a society where every man, woman and child has the ability to look in their MacBook and see the entire world before them, they will do so little to offer help to their fellow man. Such disproportionate pain throughout the poorest parts of the world surely needs to be addressed with the due attention it deserves.

An example of this was the ‘Ebola virus’ – I will not labour into trying to explain the concept of this ‘virus’, a sinister little being floating around in the air with a sole aim to murder each and every one of us (such beings would do well to take my Hedonic Calculus into their consideration) – a disease that is killing thousands in the continent of Africa. The deaths there are ignored by many as being too distant, yet only when we hear the slightest hint that the little creature has flown its way to Britain is the country in an uproar.

Mr Sajuria also mentioned the dangers of government censoring our activity online – it appears that whilst we common men are privy to use the Internet for our own design, it is not ourselves that have the final jurisdiction over what we write. When this censorship intends to cover parliament’s misdoings against the needy I am certain to object, yet if it is used to control online crime and limit pain, I may give my support to it.

Yet through our discussion, it became clear that although the Internet connects diverse nations across the world (such a thing can only be praised if it leads to greater equality and happiness), all change takes time, even when promoted through your modern computers. What I came to understand was that today’s Internet activism, although coordinated online, is much like the concept of protesting in my own lifetime – a fight for social change cannot happen overnight, with or without your modern technology.

I hope that you, students of UCL, might consider the great moral value that the Internet can offer you. Speaking from a time of no electricity, of no Mac Book’s or smartphones, no aeroplanes or safe means of long-distance travel, I can only hope that you will use your new technology positively to promote equality, happiness and goodness for the greatest number.

For now, goodbye. I’ll see you around the cloisters.

Yours,

Jeremy Bentham


Be inspired to find your own clips and programmes on BoB about JB – he’s a popular bloke !

Horrible Histories (from Box of Broadcasts)

Historical sketch show featuring the rather eccentric Georgian philosopher Jeremy Bentham and super-rich Roman politician Crassus, who raps about his blinging lifestyle. [AD,S] 

Jeremy Bentham on Box of Broadcasts

 

Horrible Histories, [television programme, online], Prod. credit n.k., Prod. company n.k., Prod. country n.k., 16:30 30/5/2013, CBBC Channel, 30mins. http://bobnational.net/record/_zYIBjDOfp2GxFOIWI7IlIQ, (Accessed 05/10/2015).


YouTube clips:

  1. Bentham’s Utilitarianism, [user generated content, online] Professor Zaldivar, UK, 30/01/2015, 8mins 09secs. https://youtu.be/8iygKLQsinU (accessed 05/10/15)
  2. Jeremy Bentham: Man and Myth (UCL), [user generated content, online], Professor Philip Schofield, UK, 19/08/2010, 16mins 38secs. https://youtu.be/ZCwhKCqdINY   (accessed 05/10/15)
  3. The Man Who Had Himself Taxidermied: Jeremy Bentham, [user generated content, online] Tom Scott, UK, 14/10/2015, 3mins 58secs. https://youtu.be/mh1UXi0csqc (accessed 05/10/2015)

Other Links:

The Bentham Project and Transcribe Bentham team. If you’d like to help out with their crowd sourced transcription, you can find information here: http://blogs.ucl.ac.uk/transcribe-bentham/about/