This summer I worked with 6 friends to develop a Community & E-learning platform for the African Impact Challenge. The platform’s end goal is to serve young African entrepreneurs with a platform where they can connect with others, form teams, submit deliverables, and bring their ideas to life.

Our project management structure followed Scrum and Agile methodologies. We divided the work into 4 sprints. We had sprint retrospective and sprint planning meetings before each sprint. In these meetings, we selected five user stories we want to implement from the product backlog. We estimated the stories using the Poker Play strategy…


I’ve had the pleasure of working as the Head Teaching Assistant at the University of Toronto Mississauga for CSC148 (Introduction to Computer Science) in winter 2021 under the coordination of Professor Larry Zhang. In this article, I’ll describe the system I created for running labs.

Labs were a 2-hour slot. Every lab had three teaching assistants, and around 70 students enrolled. I had access to lab solutions and pre-made quizzes. The lab component of the course is ungraded. We used Blackboard Collaborate (BB collab) to run the lab activity.

I wanted to create a lab that would:

  • Allow students to…


In this blog post, I will review Aline Lerner’s 2016 analysis Technical interview performance is kind of arbitrary. Here’s the data. I will analyze the conclusion and discuss the article’s methodology.

Aline’s team collected data from 67 interviewees on the interviewing.io platform. In this platform, individuals can practice interviewing with engineers from top companies. At the end of the interview, interviewers rank interviewees on a scale of 1–4 based on both technical performance and communication skills. This data is used to generate the probability that an interviewee will fail a given interview based on their mean score, as shown below:

Retrieved from Technical interview performance is kind of arbitrary. Here’s the data


In this blog post, I will analyze Anant Agarwal’s 2013 Ted Talk about Massive Open Online Courses (MOOCs). Anant Agarwal serves as the CEO of Edx — a popular platform that offers free online courses.

In the TED Talk, Anant Agarwal suggests that MOOCs are useful as a way to share high-level learning widely and supplement traditional classrooms. Agarwal suggests that online technologies such as gamification, discussion boards, and interactive virtual laboratories will increase access to education. He outlines an active learning education model where students use Edx to learn the content before class.

The presentation’s goal is to…


The first chapter of the book The Pragmatic Programmer by Andrew Hunt and David Thomas introduces a pragmatic philosophy used by programmers. In this blog post, I will summarize the characteristics of pragmatic programmers and their relevance to group projects.

The authors suggest that programmers can choose to either take or not take responsibility for a task. Responsibility means that the programmers must provide solutions rather than excuses. Moreover, they must be accountable and avoid blaming others.

Looking back to my the CSC207 group project, taking responsibility was essential for effective group communication. As a project manager, I had to…


In the summer of 2020, I had the pleasure of taking CSC207 and working on a trading system in Java. To learn about how the project works, you can watch this video made by Ethan Lam, one of the group members. In this blog post, I will explain the code structure and some of the tools that were required to complete the project.

The project was made in Java based on the Clean Architecture guidelines by Robert C. Martin. The book suggests separating the project into layers, as shown in Figure 1. The main rule of Clean Architecture is that…


In March 2020, universities closed down and transitioned to an online learning format. Students face many issues with online learning, such as improper time management, constant distractions, and limited social interactions. In this blog post I will share 4 tips that help me through online learning.

A calendar can be conveniently used to organize all your weekly activities and keep you up to track. In this semester, I am taking 4 courses, and I work 19 hours a week. …


Hi everyone! I am writing this blog post as part of my CSC290 weekly assignment. CSC290 is a course targeted to improve a student’s written, oral, and interpersonal communication skills. As part of this course, I will be writing a series of blog posts.

My name is Michael, I am a second-year student at the University of Toronto Mississauga. I like to play Badminton and walk my dog. I also enjoy teaching, I spent quarantine running online summer-camps to help kids learn Scratch and Python.

Computer Science gives me the power to create applications that other people can use. Moreover…


MAT102: Introduction to Mathematical Thinking

We learned about more proof terminology, focusing on the negation, contrapositive, proof by contradiction, converse, truth tables.

We had our first quiz, it wasn’t hard, but it easy pretty easy to get some things wrong. I believe I got an 85% based on the solutions that were posted right after the quiz. The quiz had 5 Multiple Choice, I messed up one question that was super simple and also was in the problem set. I think my main problem here was that when studying, I tried to overcomplicate what will be on the quiz and…


The second week of University was pretty crazy, things are definitely warming up and work is coming in.

CSC108: Introduction to Computer Programming

We went pretty fast, the course already got to functions and it’s only been the third lesson. I’ve completed the first PCRS, which are the exercises we must complete, sort of free marks. It is worth an overall 8% of our final grades. Many of the questions are tricky, I tried to answer questions without going through the videos, but I got some answers wrong (there is no penalty, you just have to complete everything). …

Michael Sheinman

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store