All of these projects (except the last one, see below) are based this Concept Note. Any of them can be done at any level of postgraduate study, e.g. Honours class project, Honours, MSc, PhD and/or post-doctoral studies. For an Honours project, we strongly recommend taking Honours Computing & Society course which we give 1st semester to get familiar with the human/community-centred tools needed to tackle any human/community-centred project. For M, P and post-doc, we strongly recommend coming to (us and) the project with strong HCI and ICT4D skills; and if not, acquire them by TA'ing the C&S course (there's nothing like teaching to learn).
All of them involve mapping out a plan, a thorough book study (literature review) to see what's out there, some kind of research question or target; methods to answer that question/reach that target; data collection and analysis of that data; reflection on what's been achieved and how we got there; repeat. Yes! Repeat! Go in cycles. Iteratively increment prototypes, artefacts, whatever you want to call them (and we develop these to collect data; artefacts are not results but merely the vehicles with which we collect data and analyse them to yield results); all the while including end-users/partners/stakeholders in the entire process. Go read up on community-based co-design (and participatory design and methods), and stick the prefix "co-" before every concept you learned in every other CS course: plan, design, implement, document, test, evaluate, reflect, . . . Repeat. Oh gosh, here it is people; all spelled out for you: i-n-c-r-e-m-e-n-t-a-l i-t-e-r-a-t-i-o-n. Are we not Geek? Well, let's take it Next Level and actually build stuff people actually want, need and will use - together with those self-same people! 'We' are the Experts of tech, right? 'They' are the Experts of what 'they' need for their livelihood, right? Why bother Othering? Let's get over that and do stuff together!
Essentially the differences of depth and expected outputs between various levels of study are as follows: - Honours iteratively and incrementally produce a hopefully publishable-at-a-local-conference paper along with presentation & demo; - MScs iteratively and incrementally produce a couple pubs (each with paper, presentation w/demo), perhaps one local and another international; and a 60 page (max!) research thesis (with defense), and if well done, a journal article summarising the thesis (after factoring examiner comments and defense feedback/questions into that thesis); - PhDs need to up the game Next Level and make a contribution (this is a Big Deal) with international conference proceedings papers and journal articles, a 100 page thesis (max!), again w/defense; and to reiterate: a contribution to the field of Computer Science! (these tend toward the methodological, conceptual, algorithmic, etc.); and should be able to attract funding in order to do so; and finally, - post-docs hit the ground running having "been there done, that" already, and just continue to do more of the same; including but not limited to academic duties, project management, admin, writing funding grants, spin-offs, etc.
based this Concept Note There are so many ways to provide and manage connectivity. One approach on the periphery of traditional and contemporary wireless networks is known as Community Netorks (CNs), where communities provide connectivity to themselves such that revenue from doing so (if revenue is indeed a necessity to achieve sustainability) stays within a community instead of being extracted for outsider gain (a la Gupta, et al.). Right now, CNs typically might deploy one (or more) of the following technologies: WiFi in P2P, P2MP and mesh; cellular with open source tech, micro- and pico-cells; TVWS (TV white spaces) for medium-long haul and then WiFi to consumer grade devices; and possibly others, too (do FaceBook/MegaVerse, Google and Elon Musky approaches qualify as CNs? Well, one day they might). Cases in point in Africa: Zenzeleni, iNethi, MachaWorks, ZuriNet/Mamaila and many others. How can we learn to do things differently, i.e. adapt CN approaches to social, technical, financial, legal and governance issues to ensure sustainability and that people are empowered to provide their own Internet to themselves and their communities? Perhaps localised design and management of community networks with a layer on top of Software Defined Networks (SDNs)? Can we think forward to when CNs will use what we now consider cutting edge, like 5G or Elon MuskyNet? 2.4GHz and 5GHz WiFi network links (back and front bone) were cutting edge not so long ago. Don't you think 4G/LTE pico-cells could soon be cheap enough such that communities could manage (and brand) their own SIM cards? It's been done for GSM and 2G; even 3G. Stay Open Minded. We've been harnessing old school WiFi in interesting ways with Zenzeleni for years. What about apply best practise for CNs towards local farming communities in and around Stellenbosch? They need affordable internet, too! All over their farms! And they've asked us to help them: for all types of users: farmers and farmworkers alike. Think about designing, installing and maintaining such networks. No, not you. Them! No, not 'them' - Us! Where do we start? Well, we start by Walking Together. See intro above for info regarding any C&S project.
based this Concept Note Once we've got a network platform in place, we need to do something with it. Consider this: could we appropriate the SignSupport suite and repurpose it to help positive deviants in local farming communities get their fellow citizens off tik and alcohol on peri-urban farms? Some farmers, and people who run a soccer/football league for local farm workers, too, have asked us to think about this. Apparently, this is a pervasive problem at farms all over the greater Stellenbosch area (we need to do some homework to find out 'for reals'). SignSupport enables South African Deaf people to build and populate their own apps for use at a pharmacy, self-treatment of diabetes, 'calling' emergency services, etc. But come on, we didn't design it only for South African Deaf people! The content, e.g. videos could be in any signed language. In fact, when SignSupport gets re-co-designed as a platform (let's reinvent the wheel!), the videos could be how-to (get off tik) videos in Afrkiaans, isiXhosa and/or English (or any language, including, yes, South African Sign Language(SASL); why even bother with automated text-to-speech or SASL-text/speech when you have tons of people that could use the job of recording the video and do a much better job than any AI/ML even will?). Who do you think should help (and tell how to get) addicts to get off drugs? What about former addicts that somehow got themselves off drugs? Such people can share how they did it themselves, and then use community mechanisms via an application platform to share the love . . . Hmmm. Are you following yet? See intro above for info regarding any C&S project.
based this Concept Note When projects like Zenzeleni, SignSupport or any Computing & Society type of research achieves spin-off, and subsequently scales to include tens or hundreds of thousands, or even millions of end-users, what do we do with all that data? We work with Data Scientists, of course! However, from our point of view, is collecting, analysing and visualising all that quantitative data really useful unless it involves a human component to root it all in Reality? To Project forward? We need what is called triangulation (and there are different levels of triangulation including yet not limited to data triangulation). Data triangulatioin is a time-tested approach to epistemology (whoa! Big Word Alert!) and often bridges methods (and can even bridge methodologies! Whoa!). Let's get back to Big Data. Can we co-generate interfaces to Big Data that are localised and prioritised by end-users themselves? So that end-users can help define what we mean by Social Impact? Let's also look beyond the obvious beneficiaries. Are we not end-users, too, of our own tools? What about our funders? Partners? Stakeholders? Shouldn't everyone involved be able to tailor what the analysis/visualisation looks like, and be able to work together with other people, blending f2f and online, as has become our shared covid reality, Zuckerberg or not? What about jointly navigating and interpreting Big Data in the Iziko Museum planetarium and Digital Dome? Wouldn't that be fun? Probably too much fun. Ja, let's not even consider that much fun ;-) See intro above for info regarding any C&S project.
Localised no/low code environments¶
based this Concept Note To do all of the above, we probably need to explore layering no/low code environments, in local languages, adhering to local ways of doing things, such that we effectivey hide underlying complexity whilst providing configurable, malleable and adaptable ways of looking at 'stuffs', e.g. the network platforms, the app platforms, and the analysis platforms . . . yet with different views and different ways of doing things for different types of users; and the bridges between them (think social, technical, legal finanical and governance). Sound like Design 4 All? What about Programming 4 All? If you look at what we've done as Computer Scientists the past more-than-a-few decades, we just hide complexity ad nauseum; and made cell phones usable by your mother! Even your grandmother! You think ouma knows the real differences between Bluetooth and NFC (Near Field Communication)? Do you know the differences between NFC and RFID? Does it even matter? No! Android, iOS, Linux, Office365, G-Suite, Open*** . . . who cares when everything is in a browser tab? Do we need to know HTML to use WordPress or Markdown? Really? Sure, we can delve down into it if we want. Yet if we don't wanna go there, we don't have to! Besides, everyone is a programmer these days - so much so that people appear to have forgotten (that which they never really knew) that someone designs and maintains programming languages and their environments, operating systems and their APIs, networks and their protocols . . . That's us, right? Are we not the programmer's programmers? So, can we please think about further enabling the programming of network, app and analysis platforms for constituents, partners and communities? How about this - community-based programming that hides the underlying complexities of doing so for networks, platforms and apps, while enabling those that want to delve deeper and get to the underlying Python, Java, script, XML or whatever lives beneath . . . let 'em do it! We hide Complexity! It's who we are, it's what we do! Don't forget that! Back in the Day, we used to call this approach visual programming. Now we call it no/low code. Check out Rust and ReactStudio and tell me what you think. Could we build an environment like that for the tasks outlined above? Should we use tools like Rust and ReactStudio to do it? Should we use 'normal' languages? Should we develop our own??? Where do we go from here? What complexity do we hide next? That, my friend, is entirely up to you. See intro above for info regarding any C&S project.
What about repurposing any of the above towards an e-Health task like tackling diabetes? Friends of ours, who are fellow academics at Stellenbosch, recently learned their 7-year old has type 1b diabetes. The hardware on her arm talks to software on her phone. It's all developed overseas and costs like R5k/month! Who can afford that? Just the privileged elite in this country (take note our GINI co-efficient, people). What if we were to design and develop this stuff locally, for our overly huge diabetic population? Not just Type I, but also Type II, too, and from what I'm reading, covid hit South African Type II diabetics bad; many of them don't even know they have it! Could we work with local diabetes professionals, like doctors/specialists and DiabetesSA to come up with something affordable and comparable? Isn't combatting tik and alcohol abuse a health issue? What about dealing with covid? Follow a particular rabbit hole whilst designing for all kinds of rabbits (and holes). There's it. I hope we're on the same page now, and the page is let's apply Computer Science (and I mean science, like all the programming you're learnt until now and will continue to learn more, and also the methods used to derive software, in this case human-centred methods) to real wicked societal problems and empower people to take care of their own bizness. NB:: We can also be those people we empower. It's recursive! See intro above for info regarding any C&S project.