Teaching

My current teaching areas are related to Programming courses that include Programming Fundamentals, Web Programming, Data Structures, and Game Programming. Previously, I have taught classes for courses such as Computer Graphics, Databases, Information Systems, and Linux Operating Systems.

I was on sabbatical leave from teaching during the four-year period between 2014 and 2017 to undertake my doctoral research at Federal University of Santa Catarina.

Teaching Programming II course to Computer Science students.

Current Teaching

  • Present2019

    Neural Networks

    This course is a project-based graduate course aimed to provide practical and fundamental skills to perform research with neural networks.

  • Present2019

    Mobile Application Development

    Mobile computing devices have become ubiquitous in our communities. In this course, we focus on the creation of mobile solutions for various modern platforms, including major mobile operating systems. Topics include mobile device architecture, programming languages, software engineering, user interface design, and app distribution.

  • Present2018

    Programming I

    This introductory course teaches the fundamental concepts of programming languages by use of the popular C language (sometimes is Python instead).

  • Present2018

    Programming II

    This course teaches a more highly developed programming language (Java, C, or Python) with features beyond the basic concepts covered in the first programming course.

Teaching History

  • Present2018

    Web Development II

    This course builds on the concepts and issues discussed in Web Programming I surrounding software development for programs that operate on the web and the Internet.

  • Present2018

    Mobile Games Development

    This course provides introductions to event driven programming, game engine scripting, game engine class structures, and learn to use standard game development environments, in particular for mobile games programming.

  • 20182018

    Database I

    This course introduces the fundamental concepts necessary for designing, using and implementing database systems.

  • 20132010

    Programming Fundamentals

    This course covers the basics of computer programming and provides a foundation for further learning in this area.

  • 20132010

    Programming I

    This introductory course teaches the fundamental concepts of programming languages by use of the popular C language (sometimes is Python instead).

  • 20132010

    Data Structures

    This course introduces the fundamental concepts of data structures and the algorithms that proceed from them. Key topics within this course include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, tress, and graphs), and the basics of algorithmic analysis.

  • 20132012

    Computer Graphics

    This course explores graphics applications and systems. Topics to be covered include geometrical objects and transformations in 2D and 3D, homogeneous coordinates, matrix representation.

  • 20112010

    Information Systems

    This course is an introduction to computer systems. In this course we will begin by exploring the internal design and functionality of the most basic computer components.

  • 20112010

    Linux Operating Systems

    This course provides an applied introduction to UNIX/Linux operating systems. Key concepts of computer systems and operating systems are introduced, as well as the communications and linkages associated with computer systems.