Mentor/Tutor Wanted for Polymath Coding Project

  softwareengineering

I am writing a piece of software that will help me become a polymath. For help with the coding I’m looking for a tutor or mentor to bounce ideas off and get guidance from and I’m willing to pay for it if needed.

I’ll start by outlining the problem I am trying to solve and my attempts at the project so far and then give examples of the guidance I am looking for.

The Project

My problem is that I do research on a wide variety of topics (history, politics, maths, science, philosophy – you name it) but I struggle to recall (and therefore implement) much of what I’ve read and understood. This research has not been for naught because I have gained a solid first-pass understanding on lots of topics and a good sense of what is out there. But I have now reached a point where, in order to make use of all the things I have at some point known or understood, I need that information readily available i.e. learnt off by heart. My existing knowledge needs to be made more solid in order to use it and stack more on top of it. Clearly, one cannot understand, apply or build upon things they cannot recall

My solution is to write a program for storing and organising a variety of information of various types (text, dates, facts, pictures, graphs, vocabulary, sections of essays, concepts, diagrams, formulas and combinations of all the forgoing). The user can organise (into groups and subgroups plus some kind of tagging system) and browse as needed. The crucial additional feature is quizzing functionality that allows the user to asseses themselves on one or many topics in various customisable ways.

Alongside the factual and conceptual questions I also want to implement mental arithmetic testing plus other problem solving and “brain teaser” exercises. The arithmetic aspect is straightforward. Testing problem solving is more difficult insofar as it runs the risk of devolving into rote learning – in any event, remembering how to solve archetype problems is of value to me.

So in summary the user builds up a “curriculum” of sorts on topics of interest. These are organised into topics and subtopics and the program can be used to review the content and test the user on one or many of the topics in a variety of ways.

I’ve built a (very) rudimentary version already. I store the shorter-form questions and answers in an excel spreadsheet. For longer textual content I use .txt files. I have an ugly ad-hoc syntax that I invented to suggest where within the .txt file the code can expect to be able to divide the block of text into the topic, subtopic, question and answer. None of this is nice to read or easy to use. I’ve written code to generate a variety of simple arithmetic problems and correct the answers automatically (this is easy). When the program runs it gathers all the material, it examines the user on all or some subset of the topics (this is hard-coded at the top) in a randomized order, the score is displayed at the end and the user is offered a shot at redemption in the questions they got wrong. For text answers I have found it sufficient to ask the user to input an answer after which the app displays the correct answer and the user then marks it correct or incorrect.

All of this is done through python but the interface for the quiz uses the command line to display the questions one by one and prompt for the answer. At the end it displays the score alongside the correct answers and then offers to re-examine on the redemption round.

Suffice to say, there is ample scope for both aesthetic and functional improvement!

The Guidance Wanted

I’ve done a decent bit of coding in work and I find it interesting and enjoyable. I’m entirely self taught in python and I have built things that solve serious high-stakes commerical problems. With regards to this polymath project I suspect that I could (eventually) hack together solutions to most of the micro coding problems that lie ahead. But I also know that there are critical important topics on which i have no real experience – higher level design decisions, user interfaces and databases to name a few. Therefore I’m actively seeking out someone with solid experience in building things to guide me and accelerate my learning in these and other regards. I’ve read parts of Clean Code and that type of knowledge captures some sense of what I’m looking for. But more generally I want direct access to someone with practical experience and a solid coding brain to pick

As an example of the type of tutelage I am seeking – the “database” of questions and answers and the interface for adding, viewing and (re-)organising the factual quiz data needs work. I have no way of including numbered lists, bullet points, images, diagrams, equations or any kind of text formatting in either the curriculum data or the testing functionality. Similarly there is no interface for browsing that matieral and selecting the topics to be examined or for setting any parameters for the test. I can sketch out how some of this functionality might look and work but having done so I don’t really know where to begin and so I’d like to have someone to run ideas by and get their experienced take on a sensible direction of travel and how to get started

Perhaps some will recommend that I figure it all out through some mix of reading online, taking courses or asking specific questions in forums about specific functionality, “learn by doing” etc etc. On this I can say that tackling projects in work with inexperience repeatedly and needlessly lead me down time-consuming paths and left me in sticky coding situations further down the line. From discussing the design holes I dug myself into with friends who are software developers, I think many of the mistakes I made were avoidable. Good experience for sure but an expensive lesson nonetheless and I’m looking to avoid repeating it by leveraging the professional experience of others to get good, targeted advice in the context of this exact project. And as mentioned at the beginning, I’m willing to pay for it!

If you’re interested in helping shoot me a message!

New contributor

Dingo Kilo is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

LEAVE A COMMENT