Cameron Stewart

Cameron Stewart

Auckland, New Zealand

Structural Engineer by training, Civil Construction Engineer by day, Maker since before the term was defined, electronics hobbyist, craft enthusiast, programming up-and-commer. Keen to learn Java and Android programming.

18,041

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Company

    Nil

  • Job Title

    (Civil) Site Engineer

  • Spoken Languages

    • French
    • Spanish
  • Looking for work

    Yes

195 Achievements

  • Meet pandas
  • Creating a Memory Game
  • Welcome to OOP
  • Emulating Built-ins
  • Data Eruption
  • Chart Toppers
  • Getting Started with Data Visualization
  • Working with SQLAlchemy
  • Introduction to Functions
  • A World Full of Spiders
  • Introducing Data Scraping
  • Python: Inheritance
  • Flask Templates
  • Welcome to Flask
  • Getting to Know Tuples
  • Build an Application
  • Using Lists
  • Meet Lists
  • All Together Now
  • Functions and Looping
  • Types and Branching
  • Meet Python
  • The Browser Environment
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Making Decisions in Your Code with Conditional Statements
  • Working With Strings
  • Storing and Tracking Information with Variables
  • Hello, JavaScript!
  • Build a Pomodoro App
  • Java Lists
  • Java Maps
  • Gotchas and Wins
  • Iteration
  • Creation
  • Introducing IntelliJ and Unpacking Packages
  • Interfaces in Java
  • Java Inheritance
  • Generics in Java
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Video Marketing
  • Email Marketing
  • Usability Basics
  • Search Engine Optimization
  • Usability Testing
  • Social Media
  • Reduction and Aggregation
  • Meet Streams
  • Publishing on Google Play
  • Interacting with Google+ APIs
  • Connecting to Play Services
  • Interacting with Your API
  • Adding Play Services to Your App
  • Migrating a SQLite Database
  • CRUD Operations with SQLite
  • Key-Value Saving with SharedPreferences
  • File Storage
  • The Project
  • Introducing SharedPreferences
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Acting on List Item Taps
  • Lists with RecyclerViews
  • Updating the Data Model
  • User Input
  • Getting Started with Android
  • Meet Objects
  • Workflows
  • Get Involved in Open Source
  •  Create a Web Presence on GitHub
  •  Working on a Team
  • Working By Yourself
  • Hello, GitHub!
  • Working With Remote Repositories
  • Merging
  • Branches
  • Getting Started With Git
  • Why Version Control Matters
  • Getting the REST You Need
  • Database Normalization
  • Is This Thing On?
  • Putting It All Together
  • Modelling Solitaire
  • Hello Kotlin!
  • File Uploads and Entity Updates in Spring + Hibernate
  • User Messages in Spring
  • Getting Started with CRUD in Spring + Hibernate
  • Data-Driven Application Design
  • Integrating Hibernate with Spring
  • Persisting Data with Hibernate
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Finding the Data You Want
  • Getting Data from a Database
  • Advanced Tooling
  • Using the MVC Architecture with Spring
  • Modeling, Storing, and Presenting Data with Spring
  • Local Notifications
  • Broadcast Receivers
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • IDE Exploration
  • Efficiency!
  • Implicit Intents and Intent Filters
  • For All Intents and Purposes
  • Exploring the Java Collections Framework
  • Organizing Data
  • Getting There
  • Delivering the MVP
  • Harnessing the Power of Objects
  • Creating the MVP
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Getting Started with Hibernate
  • Data Persistence & ORMs
  • Writing Your Own Java Annotation
  • Using Java's Built-In Annotations
  • Bells and Whistles
  • Diving into Web Development
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • What to Test
  • Why Test
  • Using Parcelable Data
  • Custom ListViews
  • Standard ListViews
  • Introduction to Video Games
  • Customizing a ListView for the Inbox
  • The Logo Sprint
  • Logo Design 101
  • Customizing the Action Bar
  • Using Custom Styles and Themes
  • Customizing the Login Screen
  • Starting with Design Mockups
  • The Activity Lifecycle
  • Working with JSON
  • Activity Transitions: Advanced Topics
  • Tablet Time
  • Ingredients and Directions
  • Managing Fragments
  • Installing Programs
  • Environment and Redirection
  • Console Processes
  • Console Users and Permission
  • Moving Around in the Console
  • Introducing Fragments
  • Bound Services
  • Shared Element Transitions
  • Transitions Framework
  • Animation Basics
  • Threads in Android
  • How it Works
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Event Planning
  • Design a Better App
  • Graphical User Interfaces
  • Creating Spring Controllers and Thymeleaf Views
  • Spring Components and Configuring Our App
  • Setting Up Your Local Environment for Spring Development
  • Using SQLite for Structured Data
  • Data, Databases and SQL
  • How To Test
  • Meet Objects
  • Introduction to Data Persistence
  • Hooking up the Model to the View
  • Building the Weather UI
  • Concurrency and Error Handling
  • Networking
  • Exploring an API
  • Securing and Maintaining a MySQL Database
  • Creating Tables and Manipulating Data with SQL
  • Reading Data from Databases with SQL
  • Capturing Photos and Videos
  • Adding Users Using Parse.com
  • Using Git for Android
  • Getting Started with Genymotion
  • Exploring the Master-Detail Template
  • Interrogating the App
  • Learning the Language
  • Newbie