SIG / PEOPLECERT

Quality Software Development: Maintainability Foundation

I certified in Quality Software Developer (#QSDcert) via SIG / PEOPLECERT. In this post I share what the exam is about, why I think it is a must have for a software developer, and how you can prepare for it.

Quality software certificate

Quality Software Development Advanced Certificate

This is SIG’s second certification which covers building software teams. It follows the goal, question, metric or GQM approach. The material includes topics like version control, automated tests/deployment (CI), environments and working with third-party code. You can read more about it here.

Quality software advanced certificate


OReilly School of Technology (OST)

I obtained various programming certificates at the O’Reilly School of Technology (OST). As OST is unfortunately closing end of this month (Jan 2016) I pasted the course info below as a reference what I learned. The nice thing about these courses was that they were very practical, you learned by doing, building projects, submitting them for instructor feedback. These projects have contributed greatly to my coding skills and building up a library of useful code.

Python Programming Series

Python certificate

Java Programming Series

Java certificate

Advanced Java Programming Series

Java Advanced certificate

### Android 1: Introduction to Mobile Application Development

Android 1 module


More info about the courses I completed at OReilly

Android 1: Introduction to Mobile Application Development

Learn the fundamentals of writing an Android application. Mobile devices have become a prominent part of our daily lives, and we have come to rely on them for on-the-go information. Since its inception in 2005, Android has grown to become an integral part of this revolution. Most Android applications are developed using a customized version of Java. Upon completion of this course, you will be able to:


Java Programming 1: Introduction to Java and the Eclipse Development Environment

Learn the fundamental concepts and syntax of the Java programming language. Throughout this course, you will learn by building examples using the Ellipse IDE, which is supplied as a Learning Sandbox. Completion of this course will give you a basic understanding of Object-Oriented techniques in Java. Upon completion of this course, you will be able to:


Java Programming 2: The Java Programming Language

Learn more in-depth concepts and syntax of the Java Programming language. Throughout this course, you will learn by building examples using the Ellipse IDE, which is supplied as a Learning Sandbox. Completion of this course gives you a basic understanding of Object-Oriented techniques in Java. Upon completion of this course, you will be able to:


Java Programming 3: Java Programming Foundations

Learn to build the programmer’s repertoire of fundamental Java application capabilities. You will achieve an understanding of the structure and purposes for many classes in the Java API. In-depth experience with user interfaces, event and exception handling, Java I/O, and the collection framework will provide you with a toolkit for implementing applications and understanding source code of others. Programs designed in the course using Java Threads, Client/Server Sockets, and Database Connectivity provide a solid basis for application building. Upon completion of this course, you’ll be able to:


Java Programming 4: Java Application Building

Learn to understand of the structure and purposes for many of the classes in the Java API. In-depth experience with user-interfaces, event and exception handling, database connectivity, multiple threads and synchronization will provide you with a toolkit for implementing applications as well as understanding source code of others. Programs designed in the course using Java Threads, Client/Server Sockets, and Database Connectivity provide a solid basis for application building. Upon completion of this course, you will be able to:


Java Programming 5: Distributed Java Applications

Learn to develop a client/server distributed Java application from the ground up. Here you will exercise all of your Java skills to implement a graphical client that communicates with a remote back-end server using XML messages. You will learn the tradeoffs that are common in client/server systems and gain valuable insights into how to design your own distributed, multi-threaded applications. Upon completion of this course, you will be able to:


Java Programming 6: Data Structures and Algorithms

Learn to work with the core data structures and algorithms needed to write efficient code. In many circumstances, the proper answer comes down to choosing the right data structure and implementing the right algorithm. Throughout the course, students are shown how to connect their growing knowledge of data structures with algorithms so they can design their own algorithms effectively. It will cover the core data structures in computer science including fixed arrays, linked lists, maps, queues and dequeues, trees and graphs, and will use existing implementations in the JDK to solve real problems. Upon completion of this course, you will be able to:


Python 1: Beginning Python

Learn the basics of programming with Python. You will learn about expressions, variables, conditionals, loops, lists, sets, dicts, functions, objects, and exceptions. Upon completion of this course, you will be able to:


Python 2: Getting More Out of Python

Learn more in-depth techniques and strategies for programming with Python. You will get hands-on experience with Python’s modular unit testing features; file handling, storage, and archival; graphical user interfaces; and technologies for working with databases and email. Upon completion of this online Python course, you will be able to:


Python 3: The Python Environment

Learn more high-end techniques and strategies for programming with Python. Upon completion of this course you will be able to:


Python 4: Advanced Python

Learn to incorporate further object-oriented design principles and techniques with the intention of rounding out your skill set. Techniques like recursion, composition, and delegation are explained and put into practice through the ever-present test-driven practical work. Upon completion of this course, you will be able to: