Mini Course Series: Debugging Tools

Writing code is easy, anyone can do it. Writing code that does what it's supposed too, that takes a little bit more skill.

In this series of Mini Courses, experienced coders will share  tips related to debugging code that will help you becoming a better programmer. Each session will be independent, and may focus on a specific programming language, a specific IDE, or a combination.

Each teacher will focus on debugging techniques that they use, that may include some of the following topics:

  • Debuggers
  • Stack traces
  • Loggers
  • Linters
  • Testing

Target audience

This series is meant for people with some experience in the relevant programming languages. People with an intermediate level will be able to take full advantage of the techniques being taught.

Share your own knowledge

This Series will to be of indefinite length and will always be looking for more topics to teach, at any time of the year.

If you have some knowledge that you would like to share, even if it has been covered before, sign up below to become a teacher.

About the sessions

Structure: Each session will last for 2 hours and will focus on one programming language or IDE, but will always aim at providing plenty of hands-on experience.

Zoom: Each session will be available on Zoom. Please note that help with hands-on exercises is challenging via Zoom and will likely remain limited.

Video Recording: Each session might be recorded and uploaded on the Mini Course Channel for OIST internal use, only the teacher will be recorded. Contact Jeremie Gillet if you have reservations about this.

Drinks: There will be free coffee and tea, bring your cup!

Future Sessions

Android Studio
Teacher Christopher Buckley (Technician)
Date TBD
Where B701, Lab3

 

 

This session will be focusing on Java within the context of Android development. More specifically, we'll be looking at three methods of debugging; (error) logging, inline debugging, and profiling, see details below.

Only minor experience with Android is required. If you can get through creating your first Android app and have a decent sense of what is going on, you should be able to follow this session.

Although we will illustrate tools specific to Android Studio, many of the skills discussed have corollary tools within other languages/IDEs, so the skills gained should be transferable to other areas.

  • Log based debugging with ADB logcat
    • Using the Android Debugging Bridge (ADB) logcat to write meaningful and helpful log messages with minimal effort
    • Filtering by tag and severity level to see only what is relevant to your issue
    • Writing and reading stacktraces
  • Inline debugging with Android Studio (IntelliJ)
    • Basics of inline debugging
    • Setting and using breakpoints effectively
    • Conditional breakpoints
    • Multithreading and breakpoints
    • Pros and Cons of inline debugging over log based debugging
  • Profiling with the Android Studio Profiler
    • Monitor CPU and memory usage
    • Find memory leaks that lead to hard to track overflow errors
    • Heap dumps (Details of inline debugging with speed of log based debugging).
LabVIEW
Teacher Christian Butcher (Technician)
Date TBD
Where B701, Lab3
 

 

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate

velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

Details:

Python
Teacher Kenneth Dudley (RSD)
Date TBD
Where B701, Lab3
 

 

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate

velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

R with RStudio
Teacher Rafael Hernandez (Postdoc)
Date TBD
Where B701, Lab3
 

 

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate

velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

 

Sign up

To join more than one, please submit the form multiple times.
How comfortable are you with it? Do you use it in your research?
Why are you interested in this topic? Is there a particular thing you would like to learn?
Which language or IDE?
What tools or techniques? The list doesn't need to be too polished or finalized, we will work with you to prepare your session.