X Close

UCL Student Blog

Home

Menu

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]