Course: Software Programming Fundamentals

$179.00
$216.59 incl. vat

duration: 11 hours |

Language: English (US) |

access duration: 90 days |

Details

In this training course you will learn the basics of programming in software. You have an introduction about the design and development of software applications. Topics that are also covered are the design, securing of the code and the best way to maintenance of the code. Among the subjects covered are sequential software development model, iterative and incremental software, Waterfall method, Agile software, Spiral software, RAD method, security, naming identifiers, return values, interfaces, abstract classes and far more.

Result

After finishing this course you will know the basics of programming in software.

Prerequisites

There is no specific knowledge is required.

Target audience

Software Developer, Web Developer

Content

Software Programming Fundamentals

11 hours

Software Programming Fundamentals: Design and Development Best Practices

  • start the course
  • describe the concept of planning and its part in the creation of a software application
  • identify why it is important to properly plan your project
  • describe the initial steps taken in planning your software application project
  • identify the main components included in a planning document
  • identify the importance of maintaining and updating your planning document
  • identify issues that your design should address
  • identify the main components of a design document
  • describe how the planning documentation is helpful during the design stage of your project
  • identify the importance of maintaining and updating your design documentation
  • describe the importance of the planning and design stages of software development
  • identify the characteristics of the Sequential software development model
  • identify the characteristics of the Iterative and Incremental software development models
  • describe the features and benefits of using the Waterfall method for development
  • describe the features and benefits of using the Agile software development method
  • describe the features and benefits of using the Spiral software development method
  • describe the features and benefits of using the RAD method for development
  • describe the features and benefits of using the prototyping method for software development
  • describe the purpose, main sections, and importance of a development document
  • describe the benefits associated with implementing coding standards in your project
  • describe the benefits of implementing version control in your documentation and project
  • identify the importance of maintaining and updating your development document
  • list the methodologies and importance of documentation during the software development stage

Software Programming Fundamentals: Source Coding Best Practices

  • start the course
  • recognize the benefits and importance of writing quality source code
  • describe the concept of self-documenting code and its importance in the creation process
  • describe why you should include comments in your code and distinguish good comments from bad ones
  • identify best formatting practices for use in your source code
  • identify source code that utilizes best coding conventions
  • recognize the benefits of using best practices for naming identifiers in your program
  • recognize the various styles used in different programming languages for naming identifiers
  • recognize the best practices used when naming identifiers
  • recognize identifiers that follow the best practices
  • describe the purpose of methods and be able to distinguish between methods and procedures
  • describe method cohesion and its advantages when creating methods
  • identify best practices for working with arguments and distinguish between by value and by reference parameters
  • identify best practices for working with return values
  • identify best practices for working with exceptions
  • identify source code that follows best practices for method writing
  • describe the capabilities of a class, including abstraction and encapsulation
  • recognize best practices for using constructors and destructors
  • identify best practices for declaring a class and creating an object of that class
  • recognize best practices for implementing inheritance and polymorphism
  • describe the characteristics and use of interfaces and abstract classes
  • recognize how to create and work with interfaces
  • recognize how to create and work with abstract classes
  • describe the benefits of following best practices when creating source code

Software Programming Fundamentals: Software Security Best Practices

  • start the course
  • identify the goal of application security and the need to consider security issues in the design and development of software applications
  • list the guidelines for implementing security in your software development process
  • recognize the various ways that your application can develop security problems
  • identify the possible consequences of security problems
  • identify the importance of data validation within your application
  • describe the main functions that your data validation should perform on input data
  • recognize code that follows best practices for validating input data
  • identify the importance of validating and encoding output data returned from your application
  • recognize code that follows best practices for validating output data
  • recognize the importance of implementing authentication within your application and how it relates to security issues
  • identify the various resources requiring authentication and potential associated security issues
  • identify best practices for implementing authentication within your application
  • recognize best practices for creating secure passwords
  • recognize best practices for allowing users to change or recover passwords
  • identify best practices for managing and maintaining passwords
  • describe best practices for safely and securely handling errors in your application
  • list information contained in logs and how to securely handle the log files your application generates
  • identify best practices for securing data that is accessible by your application
  • describe best practices for securing the uploading of files from within your application
  • describe best practices for securing database access from your application
  • identify best practices your application should use for managing memory
  • list the best practices for creating secure applications

Software Programming Fundamentals: Best Practices for Maintaining Code

  • start the course
  • describe what refactoring is and recognize the benefits of performing code refactoring
  • identify code conditions that can benefit from refactoring
  • list the steps involved when performing refactoring on source code
  • identify best practices for refactoring
  • describe how refactoring can be implemented to improve methods in your source code
  • recognize techniques for refactoring program functionality when working with objects
  • describe refactoring techniques to simplify how your program works with data
  • describe how conditional statements in your source code can be optimized with refactoring
  • recognize how refactoring can help optimize calls to methods in your source code
  • describe how to improve generalization in object-oriented programming through refactoring
  • list the benefits and categories of refactoring code
  • identify the benefits of performing maintenance on source code
  • identify the types of peer reviews and describe the benefits of performing inspections on your source code
  • list the roles and responsibilities of the participants involved in peer review inspections
  • list the stages of a software inspection and describe the function of each
  • describe the sources and effects of errors within your software application
  • list and describe the most common types of errors caused by poor programming
  • identify the sources of errors introduced by code improvements and how best to minimize these errors
  • describe how functionality errors occur and how to minimize them
  • list the various methods for testing your programs
  • describe the purpose and principles of unit testing
  • describe the techniques for detecting bugs when testing your programs
  • list the steps involved when debugging your source code
  • identify the benefits of maintaining, testing, and debugging source code

Course options

We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.

Optional practice exam (trial exam)

To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam. 

Optional practice lab

To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediatelyThe lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience. 

WHY_ICTTRAININGEN

Via ons opleidingsconcept bespaar je tot 80% op trainingen

Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo

Spar met medecursisten en profileer je als autoriteit in je vakgebied.

Ontvang na succesvolle afronding van je cursus het officiële certificaat van deelname van Icttrainingen.nl

Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers

Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten

Orderproces

Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.

read more about the order process

What is included?

Certificate of participation Yes
Monitor Progress Yes
Award Winning E-learning Yes
Mobile ready Yes
Sharing knowledge Unlimited access to our IT professionals community
Study advice Our consultants are here for you to advice about your study career and options
Study materials Certified teachers with in depth knowledge about the subject.
Service World's best service

Platform

Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.

Life Long Learning

Follow multiple courses? Read more about our Life Long Learning concept

read more

Contact us

Need training advise? Contact us!


contact