Programming Training Courses

Programming Training Courses

Local, instructor-led live Computer Programming training courses demonstrate through interactive hands-on practice the fundamentals and advanced topics of Programming.

Programming training is available as "onsite live training" or "remote live training". Hong Kong onsite live Programming trainings can be carried out locally on customer premises or in NobleProg corporate training centers. Remote live training is carried out by way of an interactive, remote desktop.

NobleProg -- Your Local Training Provider

Testimonials

★★★★★
★★★★★

Programming Course Outlines

CodeNameDurationOverview
reactReact: Build Highly Interactive Web Applications21 hoursReact is an open source Javascript library that can be used to create interactive web and mobile applications. It is often compared to MVC frameworks such as Angular, Ember and Backbone, however, React is distinct in its focus on the UI of the application (the View in MVC). Its unique approach to rendering highly interactive UIs is both powerful and liberating and has led to React's popularity.

In this instructor-led, live training, we demonstrate React's power and flexibility, compare it to alternative frameworks, and walk participants step-by-step through the creation of their own React application.

By the end of this course, participants will have a solid understanding of React's design philosophy and be in a position to decide when and where it makes sense to use React and when to rethink the conventional MVC model. With an emphasis on hands-on practice and the completion of a real application, this training will be invaluable to web application developers wishing to use React to boost their productivity and value.

Format of the course

- Overview of React's features and capabilities along with step-by-step development of a web application.
fsharptddUnit Testing with F#7 hoursThis course introduces the tools and techniques needed to write F# based unit tests. A special emphasis is placed on test driven development (TDD). Functional TDD is a testing approach that uses functional programming to unit test an application before developing it. Functional programming (as opposed to imperative, state-transition-style programming) in a language such as F# lends itself well to TDD because smaller, well-targeted tests can be written in isolation.

In this instructor-led, live training, participants will learn how to use F# to write unit tests that are direct and easy to understand.

By the end of this training, participants will be able to:

- Build a complete system out of small, isolated functions
- Express test cases as properties instead of examples
- Write test code without the need for mocks
- Reduce the need to control and check for side effects
- Use libraries such as NaturalSpec, FsCheck, FsTest, FsUnit and Unquote to facilitate test cases creation
- Use F# to overcome some of the problems associated with mainstream Test-driven Development (TDD)

Audience

- Test engineers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
specexplorerSpec Explorer: Model Based Testing on .NET14 hoursSpec Explorer is a tool for creating models of software behavior, analyzing those models with graphical visualization, checking the validity of those models, and generating test cases from the models.

In this instructor-led, live training, participants will learn the theory and practice of model-based testing as they use Spec Explorer to create and execute MBT tests on a demo application.

By the end of this training, participants will be able to:

- Generate test cases by applying modeling strategies and techniques
- Manage test models for different types of software applications, systems and environments
- Evaluate, propose and implement an MBT strategy within an organization
- Understand and explain the benefits and challenges of MBT

Audience

- Test engineers
- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
specflowSpecFlow: Implementing BDD for .NET21 hoursSpecFlow is the official Cucumber implementation for .NET. It allows testers to define, manage and automatically execute human-readable acceptance tests in .NET projects. SpecFlow uses the official Gherkin parser and supports the .NET framework, Xamarin and Mono.

In this instructor-led, live training, participants will learn how to use SpecFlow to write acceptance tests that are understandable by technical as well as non-technical stakeholders.

By the end of this training, participants will be able to:

- Bind business requirements to .NET code
- Apply BDD techniques to build up living documentation for an application
- Run SpecFlow from Visual Studio or the command line
- Integrate SpecFlow into an existing continuous testing and build environment
- Integrate SpecFlow with other testing frameworks such as MSTest, NUnit, xUnit and MbUnit

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice.
fsharpF#: Introduction to Functional Programming14 hoursF# is a functional-first programming language. It is a strongly typed language that supports different styles of programming, including functional, imperative, object-oriented, and reactive. F# is fully supported in Visual Studio and Xamarin Studio.

In this instructor-led, live training, participants will learn functional programming as they step through the creation of a series of sample applications and utilities.

By the end of this training, participants will be able to:

- Understand the principles of functional programming
- Write elegant, maintainable code for solving complex computing problems
- Use F# with Javascript and C# to create asynchronous web applications

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
vuejsVue.js: Build an Advanced Single-Page Application21 hoursVue.js is an open-source progressive JavaScript front-end framework for building advanced single-page applications. Vue.js aims to take the best of Angular, make it lightweight, and leave out the unnecessary parts.

In this instructor-led, live training, participants will learn how to take advantage of Vue.js's incrementally adoptable architecture to build a complex, single-page application (SPA).

By the end of this training, participants will be able to:

- Build web apps that process and render data conditionally
- Design interactive web apps that react efficiently to user events
- Write modular and reusable code
- Incrementally progress a view into full-blown single-page application
- Integrate Vue.js to an existing webpage
- Use Vue's ecosystem to extend the framework's capability

Audience

- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
unittestingjavascriptUnit Testing with Javascript7 hoursIn this instructor-led, live training, participants will learn about various JavaScript testing frameworks as they step through the creation of a unit test suite for a web application.

By the end of this training, participants will be able to:

- Write unit tests in JavaScript using unit test frameworks such as QUnit and Jasmine
- Use frameworks such as Mocha and Chai to implement TDD and BDD

Audience

- Test engineers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
unittestinghaskellUnit Testing with Haskell7 hoursThis course introduces the tools and techniques needed to write unit tests using HUnit testing framework. HUnit is a unit testing framework for Haskell, similar to the JUnit tool for Java.

In this instructor-led, live training, participants will learn how to use HUnit to write unit tests that are direct and easy to understand.

By the end of this training, participants will be able to:

- Write tests that are easy to create, change, and execute
- Use HUnit to group tests into suites and check the results automatically
- Write concise and flexible test specifications
- Integrate HUnit with other utilities such as QuickCheck and HSpec
- Extend the test framework

Audience

- Test engineers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
unittestingwithcsharpUnit Testing with C#14 hoursUnit testing is a testing approach that tests individual units of source code by modifying its properties or triggering an event to confirm whether the outcome is as expected.

In this instructor-led, live training, participants will learn how to write and execute unit tests against a sample .Net application using C# and Visual Studio.

By the end of this training, participants will be able to:

- Use testing frameworks such as NUnit and xUnit.net to create and manage unit test code
- Define and implement a broader test driven development approach to testing
- Adapt the testing framework to extend the test coverage for an application

Audience

- Software test engineers
- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
undertowUndertow: Embed a Web Server into Your Application7 hoursUndertow is a lightweight web server written in Java. It is used by JBoss's WilfFly internally and is popular as an embedded web server for JVM-based applications.

In this course, participants will learn how to set up an Undertow web server as a standalone and embedded web server.

By the end of the course, participants will have an understanding of Undertow's architecture, features and capabilities and will be able to:

- Deploy and manage an Undertow server in standalone as well as embedded mode
- Embed Undertow into application code using Undertow's embedded APIs
- Integrate Undertow into a Wildfly Application Server
- Set up Undertow as the embedded servlet container for Spring Boot

Audience

- System administrators
- Enterprise web application developers
- DevOps engineeers
- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
pytestUnit Testing with Python21 hoursUnit Testing is a testing approach that tests individual units of source code by modifying their properties or triggering an event to confirm whether the outcome is as expected. PyTest is a full-featured, API-independent, flexible, and extensible testing framework with an advanced, full-bodied fixture model.

In this instructor-led, live training, participants will learn how to use PyTest to write short, maintainable tests that are elegant, expressive and readable.

By the end of this training, participants will be able to:

- Write readable and maintainable tests without the need for boilerplate code
- Use the fixture model to write small tests
- Scale tests up to complex functional testing for applications, packages, and libraries
- Understand and apply PyTest features such as hooks, assert rewriting and plug-ins
- Reduce test times by running tests in parallel and across multiple processors
- Run tests in a continuous integration environment, together with other utilities such as tox, mock, coverage, unittest, doctest and Selenium
- Use Python to test non-Python applications

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
underscoreUnderscore.js Fundamentals7 hoursUnderscore.js is a one of the most popular JavaScript libraries for functional programming. It embraces functional programming principles but is not opinionated and can be used with imperative, object-oriented, functional or other programming styles. Underscore makes Javascript development more productive and efficient.

In this instructor-led, live training, participants will learn how to use Underscore to build a JavaScript application.

By the end of this training, participants will be able to:

- Use Underscore to manipulate and control JavaScript collections, arrays, objects and functions
- Use the functional nature of Underscore's libraries to improve the expressiveness and readability of code
- Improve code performance
- Create aggregations and data manipulations
- Integrate with a ViewModel
- Build other JavaScript libraries with Underscore

Audience

- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
codingfornoncodersCoding for Non-Coders21 hoursIn this instructor-led, live training, participants will learn the basics of programming as they step through the creation of a web application.

By the end of this training, participants will be able to:

- Use newly gained coding skills to create their own web application
- Understand software development concepts and technologies
- Communicate effectively with programmers and engineers

Audience

- Non-programmers wishing to learn how to program

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
shiroApache Shiro: Securing Your Java Application7 hoursApache Shiro is a powerful Java security framework that performs authentication, authorization, cryptography, and session management.

In this instructor-led, live training, participants will learn how to secure a web application with Apache Shiro.

By the end of this training, participants will be able to:

- Use Shiro's API to secure various types of applications, including mobile, web and enterprise
- Enable logins from various data sources, including LDAP, JDBC, Active Directory, etc.

Audience

- Developers
- Security engineers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
angularrxjsReactive Programming with Angular RxJS 14 hoursReactive programing is an asynchronous programing paradigm that focuses on data streams and the propagation of data by establishing a defined dependency between the underlying execution models and the emitted data streams from one component to another. Many Angular application design inefficiencies when building asynchronous UIs can be overcome by utilizing reactive style patterns offered by the RxJS library.

In this instructor-led, live training, participants will learn how to implement Observable patterns into their Angular application designs as they step through a series of cases showcasing common angular design problems and how they benefit from reactive programing designs.

By the end of this training, participants will be able to:

- Understand the reactive programing paradigm and the RxJS library
- Build UI heavy Angular applications with scalability, flexibility, and responsiveness in mind using reactive programming patterns

Audience

- Angular application developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
nlgPython for Natural Language Generation21 hoursNatural language generation (NLG) refers to the production of natural language text or speech by a computer.

In this instructor-led, live training, participants will learn how to use Python to produce high-quality natural language text by building their own NLG system from scratch. Case studies will also be examined and the relevant concepts will be applied to live lab projects for generating content.

By the end of this training, participants will be able to:

- Use NLG to automatically generate content for various industries, from journalism, to real estate, to weather and sports reporting
- Select and organize source content, plan sentences, and prepare a system for automatic generation of original content
- Understand the NLG pipeline and apply the right techniques at each stage
- Understand the architecture of a Natural Language Generation (NLG) system
- Implement the most suitable algorithms and models for analysis and ordering
- Pull data from publicly available data sources as well as curated databases to use as material for generated text
- Replace manual and laborious writing processes with computer-generated, automated content creation

Audience

- Developers
- Data scientists

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
electronElectron: Build a Desktop Application with Javascript7 hoursElectron (formerly known as Atom Shell) is an open-source framework for building dynamic desktop apps with JavaScript, HTML, and CSS. Electron is maintained by GitHub and is the main GUI framework behind GitHub's Atom, Microsoft's Visual Studio Code and Light Table IDE.

In this instructor-led, live training, participants will learn how to build cross-platform native desktop application using only Javascript, HTML and CSS.

By the end of this training, participants will be able to:

- Download, configure and install Electron
- Understand Electron's commands and tool set
- Use web based front and back end components such as NodeJS run-time and Chromium to build a multi-platform desktop application
- Modularize their application and utilize associated JavaScript files
- Build Electron on a low-end commodity machine
- Create branding and custom icons by renaming and/or editing the Electron executable file
- Integrate other frameworks such as Angular, Photon, and Bootstrap

Audience

- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
fsharpfordatascienceF# for Data Science21 hoursData science is the application of statistical analysis, machine learning, data visualization and programming for the purpose of understanding and interpreting real-world data. F# is a well suited programming language for data science as it combines efficient execution, REPL-scripting, powerful libraries and scalable data integration.

In this instructor-led, live training, participants will learn how to use F# to solve a series of real-world data science problems.

By the end of this training, participants will be able to:

- Use F#'s integrated data science packages
- Use F# to interoperate with other languages and platforms, including Excel, R, Matlab, and Python
- Use the Deedle package to solve time series problems
- Carry out advanced analysis with minimal lines of production-quality code
- Understand how functional programming is a natural fit for scientific and big data computations
- Access and visualize data with F#
- Apply F# for machine learning

Explore solutions for problems in domains such as business intelligence and social gaming

Audience

- Developers
- Data scientists

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
cubaplatformCuba Platform for Enterprise Application Development7 hoursCuba Platform is an open-source Java web framework for enterprise applications.

In this instructor-led, live training, participants will learn how to use Cuba Platform to develop enterprise applications with rich web interfaces.

By the end of this training, participants will be able to:

- Develop Java applications and UIs using a declarative user interface, without using HTML, CSS or JavaScript
- Reduce boilerplate code and facilitate rapid development
- Use the CUBA Studio web development tool with existing Java IDEs
- Customize applications without branching the code

Audience

- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
RxJSReactive Programming with Javascript and RxJS7 hoursReactive programing is an asynchronous programing paradigm that focuses on data streams and the propagation of data by establishing a defined dependency between the underlying execution models and the emitted data streams from one component to another. RxJS is one of the most comprehensive reactive programing libraries for managing UI events, asynchronous HTTP requests, and other data streams.

In this instructor-led, live training, participants will become familiar with RxJS's tools and functions as they apply them to a variety of coding problems associated with interactive-heavy based mobile and web apps. Participants will also learn how to create and deploy a UI heavy web app.

By the end of this training, participants will be able to:

- Understand the reactive programing paradigm and its usefulness for UI heavy application development
- Build UI heavy applications with scalability, flexibility, and responsiveness in mind
- Easily and freely create and manage a multitude of UI events, asynchronous HTTP requests, and other data streams

Audience

- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
ang2devAngular 2 Development28 hoursAngular 2 is a new development platform for building mobile and desktop web applications.
highchartsHighcharts for Data Visualization7 hoursHighcharts is an open-source JavaScript library for creating interactive graphical charts on the Web. It is commonly used to represent data in a more user-readable and interactive fashion.

In this instructor-led, live training, participants will learn how to create high-quality data visualizations for web applications using Highcharts.

By the end of this training, participants will be able to:

- Set up interactive charts on the Web using only HTML and JavaScript
- Represent large datasets in visually interesting and interactive ways
- Export charts to JPEG, PNG, SVG, or PDF
- Integrate Highcharts with jQuery Mobile for cross-platform compatibility

Audience

- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
symfony4Symfony 4 for Web Application Development28 hoursSymfony 4 is a software development framework for PHP. It contains reusable PHP libraries to facilitate the development and testing of new applications written in PHP (Web apps or APIs). Symfony 4 is a command-line software framework with the built-in commands that makes PHP code development more efficient.

In this instructor-led, live training, participants will learn to use the Symfony framework and the PHP language as they step through the creation of a PHP application.

By the end of this training, participants will be able to:

- Use Symfony 4 to create and test code written in PHP
- Create simple code for PHP that reads and writes to a database

Audience

- Programmers and web developers with working knowledge of PHP and HTML
- Advanced developers who seek more efficient development tools for faster closures
- Software designers who need to update their understanding of current development tools that match user needs

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
opennlpOpenNLP for Text Based Machine Learning14 hoursThe Apache OpenNLP library is a machine learning based toolkit for processing natural language text. It supports the most common NLP tasks, such as language detection, tokenization, sentence segmentation, part-of-speech tagging, named entity extraction, chunking, parsing and coreference resolution.

In this instructor-led, live training, participants will learn how to create models for processing text based data using OpenNLP. Sample training data as well customized data sets will be used as the basis for the lab exercises.

By the end of this training, participants will be able to:

- Install and configure OpenNLP
- Download existing models as well as create their own
- Train the models on various sets of sample data
- Integrate OpenNLP with existing Java applications

Audience

- Developers
- Data scientists

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
webdevonboardingWeb Developer On-boarding Training420 hoursIn this instructor-led, live training, participants will learn the foundations of web development as they step through the creation and deployment of a sample application.

By the end of this training, participants will be able to:

- Design and implement new user facing features
- Optimize web applications to maximize speed and scale
- Write client-side code for web-based applications
- Create fast, easy to use, high volume production applications and develop prototypes quickly

Audience

- Beginner web developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
CleanCClean Code14 hoursWhy do we need Clean Code? Programs evolve, therefore the code is continuously updated it can be very, very difficult to go back through unclean code to find and update the source code on average, the cost of writing the original code is only 40% of the total cost of a system; 60% of the cost, on average, is spent maintaining and updating code. Bad code dramatically increases that 40/60 ratio, bordering on 20/80 in the worst cases; the more unclean the code is, the more time we just spend updating it.
mlbankingpython_Machine Learning for Banking (with Python)21 hoursMachine Learning is a branch of Artificial Intelligence wherein computers have the ability to learn without being explicitly programmed. Python is a programming language famous for its clear syntax and readability. It offers an excellent collection of well-tested libraries and techniques for developing machine learning applications.

In this instructor-led, live training, participants will learn how to apply machine learning techniques and tools for solving real-world problems in the banking industry.

Participants first learn the key principles, then put their knowledge into practice by building their own machine learning models and using them to complete a number of team projects.

Audience

- Developers
- Data scientists

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
jenkinsmavenContinuous Integration with Jenkins and Maven21 hoursJenkins is an open-source continuous integration (CI) tool written in Java. Maven is a build automation tool for Java projects. Together they can be used to trigger continuous builds that include, for example: the execution of JUnit tests whenever a new code is committed, deployment of these builds to production, and scheduling of these tasks at strategic times of the day, for example midnight. These tools and processes make up a DevOps approach to the development and deployment of software and are popular in Agile development.

In this instructor-led, live training, participants will start with an introduction to DevOps, version control and automation scripting, and then move on to hands-on practice, learning how to install, configure and deploy Jenkins and Maven in a live lab environment.

Audience

- Developers
- System Administrators
- DevOps engineers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
openrestyOpenResty7 hoursOpenResty is a full-fledged web platform that integrates Nginx, LuaJIT, and Lua libraries. It allows for the construction of high-performance web applications capable of handling 10K ~ 1000K+ connections in a single box. OpenResty is used by Alibaba, CloudFlare, and Tumblr, among others.

In this instructor-led, live training, participants will learn how to use OpenResty to build a number of demo solutions, including a web application, web service, and a dynamic web gateway.

By the end of this training, participants will be able to:

- Turn an nginx web server into a web application server
- Use the Lua programming language to script nginx C modules and Lua modules
- Run server-side web applications completely inside the Nginx server
- Integrate OpenResty with remote backends such as MySQL, PostgreSQL, Memcached, and Redis

Audience

- Developers

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice
matlabprescriptiveMatlab for Prescriptive Analytics14 hoursPrescriptive analytics is a branch of business analytics, together with descriptive and predictive analytics. It uses predictive models to suggest actions to take for optimal outcomes, relying on optimization and rules-based techniques as a basis for decision making.

In this instructor-led, live training, participants will learn how to use Matlab to carry out prescriptive analytics on a set of sample data.

By the end of this training, participants will be able to:

- Understand the key concepts and frameworks used in prescriptive analytics
- Use MATLAB and its toolboxes to acquire, clean and explore data
- Use rules-based techniques including inference engines, scorecards, and decision trees to make decisions based on different business scenarios
- Use Monte Carlo simulation to analyze uncertainties and ensure sound decision making
- Deploy predictive and prescriptive models to enterprise systems

Audience

- Business analysts
- Operations planners
- Functional managers
- BI (Business Intelligence) team members

Format of the course

- Part lecture, part discussion, exercises and heavy hands-on practice

Upcoming Programming Courses

CourseCourse DateCourse Price [Remote / Classroom]
Java Advanced - Yen Sheng Centre - NobleProg Hong KongMon, 2019-05-06 09:30HK$42916 / HK$61316
Java Advanced - Grand Century Place - NobleProg Hong KongTue, 2019-05-21 09:30HK$42916 / HK$62116
Java Advanced - Grand Century Place - NobleProg Hong KongMon, 2019-07-22 09:30HK$42916 / HK$62116
Java Advanced - Yen Sheng Centre - NobleProg Hong KongTue, 2019-07-30 09:30HK$42916 / HK$61316
Java Advanced - Miramar - NobleProg Hong Kong Tue, 2019-07-30 09:30HK$42916 / HK$62116
Weekend Programming courses, Evening Programming training, Programming boot camp, Programming instructor-led, Weekend Programming training, Evening Programming courses, Programming coaching, Programming instructor, Programming trainer, Programming training courses, Programming classes, Programming on-site, Programming private courses, Programming one on one training

Course Discounts

CourseVenueCourse DateCourse Price [Remote / Classroom]
Android DevelopmentYen Sheng Centre - NobleProg Hong KongMon, 2019-03-04 09:30HK$42916 / HK$61316
Introduction to RInternational Commerce Centre - NobleProg Hong KongMon, 2019-03-18 09:30HK$41342 / HK$57742
Android DevelopmentGrand Century Place - NobleProg Hong KongTue, 2019-03-26 09:30HK$42916 / HK$62116
Android DevelopmentMiramar - NobleProg Hong Kong Mon, 2019-04-08 09:30HK$42916 / HK$62116
Machine Learning Fundamentals with RMiramar - NobleProg Hong Kong Tue, 2019-04-30 09:30HK$27562 / HK$41162
BPMN 2.0 for Business AnalystsYen Sheng Centre - NobleProg Hong KongWed, 2019-05-01 09:30HK$41342 / HK$57142

Course Discounts Newsletter

We respect the privacy of your email address. We will not pass on or sell your address to others.
You can always change your preferences or unsubscribe completely.

Some of our clients

is growing fast!

We are looking to expand our presence in Hong Kong!

As a Business Development Manager you will:

  • expand business in Hong Kong
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

Apply now!