Enable contrast version

Tutor profile: Joshua S.

Inactive
Joshua S.
Lead Software Engineer at Avenda Health
Tutor Satisfaction Guarantee

Questions

Subject: Python Programming

TutorMe
Question:

Why should I use python and when should I not use python?

Inactive
Joshua S.
Answer:

Python is easy to read and easy to write. That makes it a good choice for quick scripting and quick software prototypes. It also has a wealth of data science libraries that make it good for building tools for crunching data. However python has two big downsides. It is slow which makes a bad choice for final products that need to handle a lot of data with fast response time. The second downside is Python needs the python runtime which takes up a fair amount of memory making python not the best choice for memory limited environments like embedded software devices.

Subject: Software Engineering

TutorMe
Question:

I am learning about coding and it seems like there is so much to learn. How are software applications structured in the real world and what are the terms I need to know to start learning how the pieces fit together?

Inactive
Joshua S.
Answer:

The most common way software applications are architected is the 3 tier architecture. The 3 tiers are the Presentation Layer, Application Layer and the Data Layer. The Presentation Layer is what the user sees. Engineers who work at this layer are called Frontend Engineers. They might use Javascript and HTML if they work on web applications or Qt if they work on desktop or embedded software. The Application Layer handles the business logic and processing for the application. Engineers who work at this layer are called Backend Engineers and use a variety of programming languages to do their job such as Java, Python or Go. The Data layer consists of databases and other persistent storage. Engineers who work at this layer can be called Database Admins.

Subject: Computer Science (General)

TutorMe
Question:

I am hearing and learning about so many different search algorithms such as Binary Search, Breadth First Search, Depth First Search etc. How do I know when to use which algorithm, and how can I remember?

Inactive
Joshua S.
Answer:

Well lets dissect this. Before you decide on a search algorithm, you first need to understand what data structure you are working with. If you are given a sorted array and you need to find a particular value, Binary search would be a good choice. However if you have a graph structure and you need to find a path to a particular node, Breadth First Search, Depth First Search or other Graph Search algorithms would be a good choice. In order to choose a particular Graph Search algorithm, you need to know some more details about the graph such as the edge weights or if the likelihood of finding the goal node in a deep or shallow node. As for how to remember, the best thing to do is practice implementing these algorithms. That way it will reinforce in your brain not only how the algorithm works but also the data structure that they are used on.

Contact tutor

Send a message explaining your
needs and Joshua will reply soon.
Contact Joshua

Request lesson

Ready now? Request a lesson.
Start Lesson

FAQs

What is a lesson?
A lesson is virtual lesson space on our platform where you and a tutor can communicate. You'll have the option to communicate using video/audio as well as text chat. You can also upload documents, edit papers in real time and use our cutting-edge virtual whiteboard.
How do I begin a lesson?
If the tutor is currently online, you can click the "Start Lesson" button above. If they are offline, you can always send them a message to schedule a lesson.
Who are TutorMe tutors?
Many of our tutors are current college students or recent graduates of top-tier universities like MIT, Harvard and USC. TutorMe has thousands of top-quality tutors available to work with you.