Showing posts with label CS. Show all posts
Showing posts with label CS. Show all posts

Tuesday, April 9, 2013

Umonya: April 2013

Project Umonya held another course over the April school holidays. This three day course takes students through the progress from what is a programming to logic, functions and scope.

The photos below are the lecturers and tutors from the various days, a mixture of CS students, industry professionals and past students. 


Monday, February 11, 2013

Phd...Submitted, back to reality

I'm done. I have finally handed in my thesis and am returning to reality, the world of people other than my family, editor and supervisor.

Tomorrow it is back to back and the of life of developing in Python and dancing 4 nights a week. I've almost missed those days...almost.

Now the wait begins until I get any feedback, though there are many things to fill the hours. I am reminded of this:

Monday, September 27, 2010

ICT in Education

The second day of Innovate 2010 started with a few interesting applications of smartboards and Nintendo Wiis. It is interesting that they are using Python to communicate between the two. I've recently discovered that smartboards are becoming rather popular at schools around Cape Town (we even had one installed in EGS at UCT) but I'm not sure how effective they can be. I'm very keen to see what type of content teachers are developing to use on these teaching toys.

Robert and I presented Project Umonya today to a number of IT teachers from around South Africa. Speaking to them afterwards we discovered that many teachers are frustrated with the SACO format and how it doesn't fit into teaching IT, that the North West would really like a course of their own and that there may in fact be computer labs big enough to host courses at certain IEB schools (namely in Johannesburg)

While speaking to educators and NGOs who facilitate educational programs I've discovered a few resources that people may wish to browse, namely Living Maths, Free High School Textbooks (FHSST) and Fullmarks (website pending). Its amazing what resources are available. Project Umonya is hoping to feed their upcoming resource packs into the FHSST system for a greater distribution.

Tomorrow is the final day of the conference and I am keen to network a bit more and discover a few more useful contacts to help us on our way.

Innovate 2010

Yesterday was the first day of the three day conference in Innovate 2010 Schools ICT Conference held in Cape Town at the Cape Academy of Mathematics, Science and Technology. I first started working at this conference in 2001 (when I was still in high school) and today I am presenting for Project Umonya.

The first keynote speaker of the day Masha du Toit discussed Digital Natives and Digital Immigrants. I'd never really considered the difference or that the distinction existed, I'd sort of accepted that I was born when computers became ubiquitous but that others had an affinity to technology that could have existed in any age (someone had to invent the stuff)

The second keynote speaker for the event was Johannes Cronje from CPUT. He spoke about the Seven Ages of Technology in Education. It was a highly entertaining experience as he traversed the world of Shakespeare for examples.

During the afternoon I sat through what could have easily been a marketing pitch for Apple. I own an Apple MacBook and still felt both bemusement and despair of the missed opportunity to showcase a proper message. The Parklands Apple One2One project is an experiment in introducing laptops into the classroom. Teachers promoted iLife as the solution to all the learners problems. They forgot to mention that everything they trumpeted on iLife is available as Open Source software (and hence less expensive than buying a MacBook).

The Parklands teachers and IT specialists missed a key opportunity, one I hope others will correct over the next two days, that of user generated content. The team spoke about the learners enthusiasm at generating new content but this doesn't have to be done on a MacBook. I despair that the message was completely lost as the teachers attributed all success to the technology itself.

Friday, August 27, 2010

Algorithm Circle: 3rd Python Course

This afternoon is the start of the 3rd Python Course for learners between ages 11 and 17 at the University of Cape Town. The Algorithm Circle is hosting the course with roughly 100 learners from the Western Cape. Normally I would say Cape Town but we have a few learners travelling from Hermanus and Paarl to join us (and a few from Johannesburg)

As today is the final day of the YSSP in Vienna I am obviously not able to lecture this time round. Good luck to the team in Cape Town, I'll eagerly await feedback on Monday.

The design above is for the new volunteer t-shirts that was very kindly designed for us. Are you a coding superhero? I can't wait to get my tshirt when I get back.

Wednesday, July 28, 2010

Full steam ahead

It is full steam ahead for Project Umonya and the UCT Algorithm Circle. Advertisements went out last week for the Python course from 27-29 August 2010 hosted by the UCT Algorithm Circle. If you want to apply or know anyone who would like to attend visit www.umonya.co.za. We are currently revamping notes, sorting out the logistics and its going to awesome fun. s1 has graciously sponsored the weekend course and we are very thankful that SA companies are so keen to get involved in initiatives as these.

Project Umonya is also progressing at the speed of light. We're in major logistical planning mode with universities for hosting course in KZN and Gauteng. Once these are confirmed we'll move on to flights, advertising, accommodation etc. The CMS is up and content is slowly being added as and when it fits into our schedules.

If you know anyone that would be willing to sponsor printing course notes for 1000 students please contact me.

Saturday, July 24, 2010

Graphviz

Have you ever had to model a decision process or flow diagram with Visio (or non-Windows equivalent) and wanted to automate the process cause it was a waste of your time drawing every arrow?

I've recently discovered Graphviz which caters for my geeky inclinations of 'just draw it' to see the structure, I don't care if the thing is perfect. I'm currently trying to map a decision process and the decision that are dependent on external data and influences. Now in a standard tool I'd have to redo the arrows carefully for every change, but not Graphviz. I can just add another connection line and regenerate. Cool beans :)

The nicest part for me is the specification of nodes, connections and labels, it makes sense! (In a CS way)

node [shape=box, color=green, style=filled]; Pesticide; Hectares; Fertiliser; CropType; Cultivar; PlantingDate; Livestock; SoilPrep; Hedging;
Climate->Weather;
Weather->CropType

Friday, July 9, 2010

Face2Face meetings: a thing of the past?

As some know I'm now a part of Project Umonya, a Google CS4HS initiative at UCT. Since it is being run by essentially computer geeks we seem to have moved away from face to face meetings (this is difficult at the moment with 1 in Austria, 1 in Switzerland, 1 in USA, 1 in Stellenbosch and 1 in Cape Town). Instead we have moved entirely into the realm of online meetings and planning tools.

Firstly meetings are scheduled on Doodle to find a time that suits everyone. The time is then decided and a Google Calendar invite/iCal event is sent out as a reminder.

Meeting agendas are posted on Etherpad for comment and editing a day or two before the scheduled date/time, you can save revisions, highlight changes by different people in different colours (the only drawback are no attachment/image facility).

The meetings themselves take place on IRC or Google Group Chat (depends on the SA internet connection). Any supporting documents are posted on pastebin for review. A bot on the IRC channel then takes minutes (I'm not kidding, you set it to meeting mode and tell it to record decisions and full log and attendance). If we need to conscript volunteers, we create a Doodle form with time availability options.

Minutes are compiled at the end and sent via email for review of decisions and todo lists and then the cycle starts again for a progress meeting. I know it sounds crazy but it seems to be working

Wednesday, July 7, 2010

What is your perfect coding environment?

I love PHD Comics, they always seem to hit the nail on the head with respect to grad student life. Its nice to know its not just me :) Yesterday at lunch we had a discussion about how we saw coding and what music we listen to while coding, the answers ranged. Markus will be writing up his theory on coding being like a Jazz piece any day now :P Its going to be very entertaining reading. The discussion reminded me of the PHD Comic below (and a few others)

Tuesday, July 6, 2010

Being geeky

I've realised that most people upon meeting me don't realise just how geeky I can actually be. I am just as strange as most computer scientists, I just happen to be female, there are no rules that say they are mutually exclusive.

This is not a new revelation but I was reminded of it today when I got frustrated formatting LaTeX tables and wrote a script to take in a CSV and format it into a nice standard LaTeX table. I consider this a highly practical approach, the fact that the solution is super geeky is incidental.

On the subject of LaTeX, I'm keen to try a recent discovery on Sourceforge: Track Changes for LaTeX which might solve advisor communication feedback issues. Another useful link is a LaTeX equation builder that generates the code for you

Thursday, June 24, 2010

Project Umonya: CS4HS Workshop

Project Umonya is an realisation of a lot of hard work by the UCT Algorithm Circle. Umonya means Python in Zulu, Python being the language of choice for teaching beginners. The UCT Algorithm Circle submitted a proposal to Google for its Computer Science 4 High School (CS4HS) funding grants. AC proposed to run 4 courses across the country for up to 250 school children between grades 7-9 in each location. This is the most ambitious undertaking of the AC yet. An article from the Monday Paper on the most recent course we ran shows the 75 high school students we coached through the basics of programming and algorithms, which at the time we considered rather large. The next course is set for August and we're scaling up to 100 high school students this time.

Google accepted the proposal last week and agreed to partially fund it and thus we are forging ahead with plans, logistics and redesigning our course content (theory, examples and exercises). The next step is to recruit more tutors into the project. We have a wonderful mix of postgraduate and undergraduate students (and a few very bright high school students) working as both tutors and lecturers, the entire project is run by students, a feat in itself.

We (the students) volunteer our time as we feel strongly about increasing the country's capacity for computer science and allowing early high school students the opportunity to experience CS to make an informed decision in choosing it as a subject. We hope to provide encourage and enthusiasm for the subject we all love. If some of them go on to win CS competitions, even better.

The format going forward is to train a core group of lecturers and tutors from UCT and then bring in the university students as additional tutors at each location. This provides them an opportunity to share their passion, talk about their experiences and hopefully build teaching capacity to expand the project even further in future years (long term goal).

If you know of anyone who you think would be interested in the project (high school student, uni student wanting to tutor, sponsors, printers etc please spread the word)

Friday, May 22, 2009

JPlag

I find it fascinating the number of cases of plagiarism the university sees very semester in computer science. JPlag is a tool to compare students code for similarity and reported 45 cases for the first tutorial alone. Its rather worrying that these are meant to be the "creme" of society that make it into university.

This brings me to my next point, practical tests. I despair at the new students and their attempt to make their lives more difficult. When you have a limited amount of time to complete a test and have access to your notes and past assignments, surely one would think of reusing old code or copying the basics straight the notes instead of trying to remember the basic syntax and wading through compile errors. Surely it is a logical option?

Monday, May 11, 2009

IT Challenge Final

This last week has been rather stressful. The IT challenge at the head offices of Standard Bank in Johannesburg on Thursday was a six hour adrenaline rush as each team of 4 had 7 problems to complete and a curve ball to deal with.

Last year the curve ball was an extra problem with increased time penalties, this year was a half an hour computer shutdown for "emergency maintenance". When you only have one computer, this eats into your time and productivity quite substantially.

UCT came second overall and as prizes we received Dell 22inch flatscreens. Nice consoaltion prize :)

Tuesday, March 24, 2009

Ada Lovelace Day 09

Ada Lovelace Day is an opportunity to write about women in technology. I decided I would write about one of my old lecturers who is using her computer background to help advance the field of visualisation of molecules.

Michelle Kuttel obtained her degreee in Computer Science and went on to study computational chemistry for her PhD. Her PhD thesis focused on Simulations of Carbohydrate Conformational Dynamics and Thermodynamics. While working towards her doctorate Michelle was the sysadmin for the chemistry group at UCT.

Following her doctorate Michelle has been lecturing students in Computer Science at UCT while working on visualising algorithms for carbohydrates and the simulation of carbohydrates. She also supervises students who are testing new docking techniques for molecules, visualisation of carbohydrates and high performance algorithms for computational chemistry.

Michelle is well-known in South African circles for high performance computing and was one of the original team to push for the Centre for High Performance Computing (CHPC) that is now operational in Cape Town.

For me, Michelle and other female researchers at UCT were proof that females could survive the world of computing and still do the work they love.

Saturday, March 7, 2009

Standard Bank IT Challenge

The Standard Bank IT Challenge is a four hour programming competition where each university enters four teams to compete for one place per university for the final. The teams are supplied with 1 PC and allowed to program in C++, Java and Pascal. In past years there has been support for Python but not this year. The problems this year varied from a string manipulation to a brute force solution for tiling a grid. The final ranking put Stellenbosch in first place solving all five problems with [censored] from UCT, in second place solving four of the five problems. The finals will take place in May in Johannesburg. I have never competed in the final before and it will be an interesting experience. Finals report to come in May :)

Thursday, February 19, 2009

Probabilistic Network Library

The Intel Probabilistic Network Library was a project originally developed by Kevin Murphy and then translated from Matlab into C++ by the Information Technologies Laboratory. This library has not really been supported since 2004 but has an interesting high level wrapper library to its underlying functionality. For those looking to use a Bayesian network library, maybe look at SMILE.

Thursday, November 6, 2008

CUDA with NVIDIA

CUDA by NVIDIA is a new C language environment for developers to solve numerical processing problems on Graphical Processing Units(GPUs). The speedup of certain problems in astronomical such as an N-body problem can get up to a 100x faster. The GTX200 has 1.4 billion transistors and can reach 1000 GFLOPS as opposed to a quad core Xeon which reaches 96 GFLOPS. The reason is the difference in architecture. The CPU is designed for minimum latency, not throughput, something a GPU excels at and number crunching is essentially a throughput problem.The speaker Jonathan Cohen believes the scientific community and their problems are ideal for the GPU architecture. A few interesting features of the GPU include 240 processors split into groups of 8 to create shader multiprocessors(SM). Each SM has 6 SPs, 2 SFUs and and a DP. Note that Double precision (DP) processors are not needed for graphics/games and included for scientific reasons. The SFUs are optimised for sine/cosine/sqrt/exp operations, all common in scientific computing.

One application is transferring the cloud microphysics subroutine from WRF into CUDA and John Michalakes at NCAR reported a 1.3 speedup. This shows that it might be possible to build much cheaper clusters with more powerful GPUs and run climate models faster and for far less. Cohen is building up to a ROMS-like system for GPUs. A group in Italy built a computer with 8 GPUs (8 TFLOPS) for $6000. Think of the possibilities...

Wednesday, October 22, 2008

Google Earth Scientific Applications

Day one of the Scientific Applications with Google Earth Conference was interesting in that I have never looked at the features of Google Earth in any depth. The first speaker Tim Killeen from NSF explained that less than 10% of all data they had was ever viewed and a system is needed for people to view this data in a simple environment. The two highlights to take away is that "data to knowledge" is key and "big uncertainties remain" wrt climate and understanding. So nothing new. He did however touch on new projects such as the NSF Ocean Observatories Inititiave , the final design of which is due in December.

The next speaker Dan Atkins from the University of Michigan and NSF spoke on the "Role of Data in the National Science Foundation Cyberinfrastructure for 21st Century Discovery". He touched on data stewardship, curation, federation, openness(over the long-haul). He stated that providing information a geographical-based entry to data is natural and compelling as we all have an inherent geographical frame of reference. I learnt a new word: nomenclature. Not sure I will ever use it though. Three project he reviewed were interesting:
TeraGrid: an integrating infrastructure
Blue Waters - look into tech specs
nanoHUB

The third speaker and possibly the most compelling was Michael Weiss-Malik from Google. He is a KML Product Manager and explained the design of Google Earth and the need for it. To use the analogy "to most users, the interface is the computer" he pointed out that with any paper we read the figure is the thing one remembers most and so the philosophy "to most viewers the presentation is the data". Something definitely worth remembering. KML is a standardised format derived from XML that encodes the Google Earth files.

The last two speakers, Sean Askay and Trey Smith, are both users of Google Earth to represent scientific data and presented a series of KMLs already developed that emphasized this point. The topics ranged from Appalachian Mountaintop mining to Geothermal resources, the global climate temperatures to Google Moon. The coolest thing I learnt about was actually GigaPan. Definitely worth viewing.

After lunch we split into Working Groups, mine was Climate Change and we heard from Lisa Ballagh (NSIDC) and John Bailey (University of Alaska) about climate KMLs and Virtual Globes. The group talked about various research endeavours that would be favourable for Google Earth apps and I realised I could present my seasonal forecast stuff in GE eventually. After reviewing current KMLs we found various things we wished were possible in Google Earth such as being able to switch off labels on load or preferential loading of data and user notices to know what to do. The last thing we discussed was who owned data and what happens when you pubish papers with GE images and supply online KMLs. Google have written a guideline specifically for this and is available at: http://www.google.com/permissions/geoguidelines.html

Tuesday, June 17, 2008

UCT ppl in the strangest places

For those of you have ever thought it is a small world, I was beginning to doubt it. I hadn't randomly bumped into someone I knew since arriving in the UK, until today. For the CS crowd, I bumped into Matthew West on the way back from lunch in Oxford. He apparently works at the Maths Institute.

Do you think if we spread the UCT crowd around the world we could stage a coup and move for world domination? I think there are enough of us to create a well ordered plan.

I have a random question and the person who answers it logically gets chocolate/beer/wine when I get back. In the sci-fi genre, why are all the planets ruled as a single nation versus like Earth which is made up of individual countries. Do you think it is easier to write an idealised scenario?