Software Development Core Concepts: Intermediate

https://www.skillsoft.com/channel/software-development-core-concepts-937c5ef0-e19f-11e6-93f3-0242c0a80605?expertiselevel=3224356 https://www.skillsoft.com/channel/software-development-core-concepts-937c5ef0-e19f-11e6-93f3-0242c0a80605?expertiselevel=3224357
  • 4 Courses | 4h 45m 57s
  • 4 Books | 16h 19m
  • Includes Lab
  • 37 Courses | 34h 51m 5s
  • 8 Books | 56h 23m
  • Includes Lab
Likes 72 Likes 72
 
Explore the basics of software development, including languages, basic syntax, and software development methodologies.

GETTING STARTED

Microsoft Enterprise Library

  • Playable
    1. 
    Data Access
    4m 31s
    NOW PLAYING
  • Playable
    2. 
    Exception Handling Block
    4m 19s
    UP NEXT

GETTING STARTED

Software Design and Development: Software Engineering & SDLC Phases

  • Playable
    1. 
    Course Overview
    1m 48s
    NOW PLAYING
  • Playable
    2. 
    Software Engineering as a Concept
    3m 20s
    UP NEXT

COURSES INCLUDED

Microsoft Enterprise Library
Microsoft Enterprise Library is a collection of application blocks, used to help with common tasks in enterprise development. Explore these blocks, including the Data Access Application Block and the Exception Handling Application Block.
16 videos | 1h 21m available Badge
Human-centered Software Design
Human-centered design solves design problems and provides an optimum user experience. In this course, you'll examine the key concepts, principles, benefits, and drawbacks of human-centered design with the use of examples. You'll also learn about qualitative data coding, formulating hypotheses, creating prototypes, and generating design specifications. Finally, you'll explore the differences between storyboarding and prototyping, best practices for prototyping, and prototype evaluation for making data-informed decisions.
14 videos | 59m has Assessment available Badge
Effective RAD: Rapid Application Development
Rapid Application Development can rapidly deliver software solutions that keep your customers engaged and provide the benefits that they are looking for. In this course, you'll learn about the RAD methodology, including its advantages and disadvantages, and the traditional Waterfall System Development Life Cycle methodology. You'll then examine comparisons of RAD with the traditional Waterfall SDLC methodology and with the Agile framework. Next, you'll learn about the considerations and characteristics of RAD and the best practices when performing rapid software delivery. You'll explore the customer-oriented RAD framework, including best practices, and available RAD tools and frameworks. Lastly, you'll learn about cross-platform RAD tools and frameworks and how to create an application using the Xamarin development tool.
14 videos | 1h 10m has Assessment available Badge
Effective RAD: Agile Rapid Application Development
Agile principles will be reviewed and how they can be applied to Rapid Application Development and also how to manage Agile quality to prevent issues. The effectiveness of rapid software prototyping will be discussed along with methods and processes for delivering software at a higher velocity.
14 videos | 1h 14m has Assessment available Badge
SHOW MORE
FREE ACCESS

COURSES INCLUDED

Software Design and Development: Software Engineering & SDLC Phases
Software development is no different from any other creative process. It involves the planning, development, controlling, testing, and maintenance of software products. The software development life cycle (SDLC) is a framework used to expand that development process into different stages, ensuring that the team works together to minimize risk, reduce cost, and deliver a high-quality product. Begin by exploring the role of software engineering in development. Then, examine the SDLC phases to discover the business needs for project analysis and project plan development. Finally, investigate development and implementation steps and learn about the importance of testing prior to deployment. Upon completion, you will be able to list all the phases of the SDLC and name a final document of each phase.
11 videos | 51m has Assessment available Badge
Software Design and Development: Methodologies
Most business related development processes include some kind of formal methodology. For software development we call these software development life cycle (SDLC) models and there are several of them. Learn why a software development model is needed for better software development. Discover several SDLC models including the waterfall model, incremental and spiral models, the V-model, and Agile models. Explore the features of each model and consider what they have in common. Finally, utilize comparative techniques and use cases to choose the best model for your development. After completion of this course, you'll be able to differentiate between and define popular software development methodologies.
11 videos | 53m has Assessment available Badge
Software Design and Development: Object-oriented Analysis and Design
In this course we adopt the object-oriented analysis and design (OOAD) methodology for developing computer programs. This methodology guides the developer into the proper structure for developing programs. We will begin by looking at this methodology to see how it helps the programmer develop better computer programs and consider how this approach compares to the traditional procedural style of software development. Next, we will discuss design patterns and take a look at how object-oriented relationships work. Finally, you will use an object-oriented programming (OOP) approach to solving programming problems and developing code based on your solutions. After completing this course, you'll be able to outline the object-oriented analysis and design (OOAD) approach to solving programming problems.
10 videos | 38m has Assessment available Badge
Software Design and Development: Modeling with UML
Programmers have several tools to choose from that can help make the development process easier, more streamlined, and more cost effective. One important tool is the Unified Modeling Language (UML) - a generalized modeling language that standardizes visualization of system design, giving everyone on the team one clear direction. UML helps present projects visually while maintaining the flexibility to be interpreted in different ways. Explore the many reasons for applying a UML approach to program development. Examine the architecture of UML, including the different types of models and diagrams. Learn about UML notations, and look at static and dynamic diagrams and apply use cases to each. At the end of this course, you will be able to add UML to your programmer's toolbox to design parts of an object-oriented program.
11 videos | 51m has Assessment available Badge
Software Design and Development: Design Patterns & SOLID Principles
Since computer programming is now a mature industry, there are some functions that almost all programs perform, such as authenticating users. These practices have been formalized into programming patterns, which are the subject of this course. We begin by discussing the need for design patterns and look at the three basic types - creational, structural, and behavioral. Next, dive deeper into each pattern type and use examples in each case. Additionally, we discuss the SOLID design principles in detail. Finally, we talk about best software design practices in a general sense. After completing this course, you'll be able to employ tried and true design patterns to solve programming problems.
11 videos | 59m has Assessment available Badge
Software Design and Development: Version Control System
Computer programming has matured to the point where we can develop most business applications using three distinct technologies within the client-server framework. The three tiers of presentation, logic, and database (storage) lead to separate development teams in larger companies. This three-tier development means that code must be tested and synchronized before production. For this reason, version control of the entire code as a program is implemented. Explore the history of version control software and the most popular versioning systems, including Git. Take a deep dive into Git and discover its most important features. Then, install and configure Git on your local system before using Git to configure a project and create a workflow. Finally, branch out into GitHub's features and various version control activities. After this course you will be able to implement Git as a tool to keep track of the changes in your program.
11 videos | 54m has Assessment available Badge
Design and Development Best Practices
The planning and design stages can greatly affect the success of developing a quality software application. Learn the best practices to use when developing software documentation, what should be included, and why.
10 videos | 32m has Assessment available Badge
Development Models & Version Control
Documentation is an important part of the planning and design stages for software development. Examine the various development methodologies, and best practices to employ when creating development documentation.
12 videos | 52m has Assessment available Badge
Source Coding Best Practices
Well-written source code is less prone to errors and easier to maintain. Learn best practices for writing and documenting your source code, variable naming, and working with methods.
15 videos | 1h 21m has Assessment available Badge
Classes & Inheritance
Many languages are object-oriented, so it is vital to understand the principles of object-oriented programming (OOP). Explore classes and interfaces, including types, creation, and usage, and examine inheritance and polymorphism.
8 videos | 49m has Assessment available Badge
Software Security Best Practices
Security is a major concern when designing and developing a software application. Learn the fundamentals of application security, data validation, and handling authentication and passwords.
15 videos | 1h 17m has Assessment available Badge
Data Protection & File Management
Part of creating a secure application involves writing secure code. Examine how to handle and log errors, ensure file and database security, and manage memory.
7 videos | 33m has Assessment available Badge
Maintaining Code
Maintaining code for a working application can increase its longevity and speed development of future projects. Learn code optimization through refactoring, and inspection techniques for locating defects.
15 videos | 1h 8m has Assessment available Badge
Errors, Testing, & Debugging
Code maintenance involves testing existing code to eliminate potential undetected errors. Examine the different types of errors that you should look for, and how to test and debug them.
9 videos | 37m has Assessment available Badge
Programming Structure, Methods, & Variables
Many of the basic components used when programming are common to most modern programming languages. Explore some common programming aspects, such as methods, namespaces, variables, data types, arrays, and operators.
11 videos | 53m has Assessment available Badge
Programming Strings & Data Structures
Learning programming fundamentals is vital to the software development process. Discover these fundamentals, including strings and substrings, lists, arrays, queues, stacks, linked lists, and data structures.
13 videos | 1h 19m has Assessment available Badge
Flowcharts, Tables, & Conditional Statements
Program flow and execution are often dependent upon having to make decisions at runtime. Learn how to use the common decision structures available in most programming languages, including If and Switch statements, and For and While loops.
9 videos | 46m has Assessment available Badge
Recursion, Exceptions, Randomization, & Sorting
Learn how to work with programming techniques such as recursion, exception handling, number randomization, and sorting algorithms. In addition, explore how alerts and events are used in Windows Forms applications.
14 videos | 1h 20m has Assessment available Badge
Windows and Web Applications
Explore Windows Forms applications, including creating tabbed pages, opening and saving files, and creating dropdown menus and toolbars. In addition, learn how to create a Web browser client and a Windows application.
10 videos | 1h 5m has Assessment available Badge
Windows Forms Applications
Learning to create applications is vital to your success as a developer or programmer. Explore Web development and ASP.NET, including cascading style sheets, inline styles, web services, and the basics of SOAP and WSDL.
13 videos | 58m has Assessment available Badge
Structures of Object-oriented Programming
To understand most modern programming languages, you need to understand objects. Learn the about object-oriented programming, including encapsulation, inheritance, classes, casting between types, and interfaces.
17 videos | 1h 24m available Badge
JavaScript Rules, Functions, & HTML Elements
Learn the JavaScript fundamentals needed for creating web applications, including the basic rules of JavaScript, JavaScript functions, and referencing and modifying HTML elements.
6 videos | 31m has Assessment available Badge
Windows Store Applications
Creating applications for multiple types of devices is now commonplace. Learn about console-based applications, Windows Services, Windows Store apps and how to create them, interface design, and gestures.
11 videos | 47m has Assessment available Badge
Databases, Rules, & Procedures
Most applications today require access to a datastore for saving, modifying, and retrieving data. Learn about available databases, RDBM systems, entity relationship diagrams, normalization, structured query language, and stored procedures.
14 videos | 1h 16m has Assessment available Badge
Introduction to Algorithms & Standard Containers
Learn the basics of algorithms and data structures with examples in C++, including time and space complexity, static and dynamic arrays, recursion using binary search, the stack, queues, and the linked list.
9 videos | 56m has Assessment available Badge
Introduction to Binary Trees & Sorting
Explore C++ binary search tree fundamentals, including performing a search, and inserting and deleting elements. In addition, learn about sorting using bubble sorts, merge sorts, and quicksorts.
7 videos | 45m has Assessment available Badge
Introduction to Graphs & Hashed Data Structures
Learn about graphing in C++, including the adjacency list and matrix, searching, and topological sorting. In addition, explore hashed data structures, including the hash function, perfect and non-perfect hashing, and handling collisions.
9 videos | 55m has Assessment available Badge
Getting Started with Hello, World!
Learn how to write, compile, and run "Hello, World!" in some of the most popular programming languages, build environments, and operating systems.
26 videos | 1h 47m available Badge
Software Development Concepts: Software Development Glossary
There are key concepts and terminology that members of software development teams should recognize with respect to software development and project management. In this 13-video course, learners can explore these concepts and terminology, including the software development lifecycle, Agile and traditional project management, deliverables, roles, and responsibilities and tips on how to stay current in the dynamic and quick-moving software development landscape. Key concepts covered here include software development terms related to the software development life cycle; concepts related to traditional project management and Agile project management; and the practice of continuous integration and continuous delivery CI/CD in software development. Learners examine concepts related to the software testing process in software development; learn about deliverables in the software development lifecycle; and learn roles and responsibilities on typical software development teams and on Agile software development teams. You will explore sources, including online sources for staying current in the dynamic and quick-moving software development landscape.
13 videos | 42m has Assessment available Badge Certification PMI PDU
Programming Fundamentals : Command Line Interface & Operating System Commands
In computer programming, commands are a common method of interacting with a computer to perform specific operations. A computer's command line interface (CLI) tool is used to enter, accept, and forward commands to the computer's operating system (OS). The commands and CLI will vary depending on the OS used (Microsoft, Linux, macOS, etc.) Use this course to get started with some of the most common commands used in Windows and Linux systems. Learn the commands that generate the most return in terms of productivity, such as engaging with files, folders, and programs. In doing this, become comfortable with using Windows and Linux CLIs. By the end of the course, you'll be able to execute the most frequently used commands on a Windows or Linux system.
12 videos | 1h 1m has Assessment available Badge
Programming Fundamentals: Introduction to Programming
The fundamentals of computer programming are not only for novice programmers. Knowing how humans manipulate computer programs can be game-changing for many other roles, such as UI designers, support engineers, or system administrators. This course acts as an introduction to programming for all. Discover the structure of a simple program, identifying the role of each part. Examine variables, looking at their types and purpose in a program. Dive into the role of functions, discovering how they use variables to achieve a result. Moving along, explore standard file operations, the use of a main method, the difference between compilation and interpretation, and different types of programming languages. When you're done, you'll be able to give a theoretical explanation of the elements and methods involved in programming.
12 videos | 55m has Assessment available Badge
Programming Fundamentals: Systematic Design with Pseudocode
The first step in the process of dependable computer programming is to plan and design how that program will be structured and behave. This involves using pseudocode and other design tools before diving into writing the actual computer program. Use this course to become familiar with the design process behind writing a computer program. Learn how to use pseudocode to turn a computer into a series of logical steps. Explore program flow, decision making, and looping. Moving on, examine how algorithms and flowcharts are used in computer program design. By the end of the course, you'll be able to start developing a computer program using pseudocode and algorithms.
11 videos | 50m has Assessment available Badge
Programming Fundamentals: Algorithms, Sorting, & Searching
Sorting and searching involve the three programming concepts of sequence, selection, and repetition. At least one of these three concepts is present in every program ever written. There are special sorting and searching algorithms that you'll likely need to use when developing a computer program. Use this course to investigate the main algorithms used in program development. Recognize their efficacy and how they're used as problem-solving tools. Learn about various algorithm types. Moving along, examine two sorting and two searching algorithms in detail. By the end of the course, you'll be able to recognize how sorting and searching algorithms apply to computer program development.
9 videos | 30m has Assessment available Badge
Programming Fundamentals: Object-oriented Programming
If you're learning computer programming, you need to know what object-oriented programming (OOP) is. One of the most prolific and frequently used programming paradigms, OOP has many benefits, such as code reusability, maintenance, scalability, and collaboration. The pragmatic structure of OOP means you can build large and complex programs with ease and efficiency. Use this course to examine what comprises OOP, including its use of objects and its core features of inheritance, encapsulation, and polymorphism. Distinguish between OOP and another standard programming paradigm, procedural programming. Finally, explore the most popular OOP languages and begin writing programs using three of these. Upon completion, you'll recognize how to use object-oriented programming to build versatile computer programs.
11 videos | 49m has Assessment available Badge
Programming Fundamentals: Programming Best Practices
Like any valuable and skilled process, there are best practices established in computer programming that, if used, will make your work more effective in every respect. Use this course to become familiar with programming best practices at all phases of development. Firstly, examine the rationale for using standards and best practices in the programming world. Then, delve into the "how and why" behind multiple types of best practices. Among others, explore documentation, programming style, and integrated development environment (IDE) usage. As you advance, practice exception handling, as most beginner programmers introduce errors in their programs. Lastly, take a look at code review as a vital tool in developing good programs. When you're done, you'll be able to level up as a programmer by using game-changing best practices.
10 videos | 44m has Assessment available Badge
Introduction to Programming Languages
Computer languages can be intimidating to those who haven't use them before, but once you learn how to recognize the basic components of programming, it will be much easier to begin writing your own programs. In this course, you'll discover the basics of programming languages, beginning with the file format used in programming, and basic features of various languages. Then you'll learn about the basic coding process, compilers, interpreters, and browsers, and the basic process of testing your programs. Finally, you'll learn about high-level languages and the various elements that comprise all computer programming languages. This course was originally created by Global Knowledge (GK).
15 videos | 56m has Assessment available Badge
Data Types, Collections, and Branching
Understanding the way programming languages use data and how execution flow works are key elements in understanding computer programming. In this course, you'll explore data types, how variables and data typing are used, and the purpose of composite data types and their potential uses. Then you'll learn about collections, including arrays, lists, sets, and dictionaries. Finally, you'll discover how program flow is controlled using branching, including execution paths, conditionals, and switch statements. This course was originally created by Global Knowledge (GK).
23 videos | 1h 8m has Assessment available Badge
SHOW MORE
FREE ACCESS

EARN A DIGITAL BADGE WHEN YOU COMPLETE THESE COURSES

Skillsoft is providing you the opportunity to earn a digital badge upon successful completion on some of our courses, which can be shared on any social network or business platform.

Digital badges are yours to keep, forever.

BOOKS INCLUDED

Book

Design for Software: A Playbook for Developers
Appealing to both tech-savvy designers and creative-minded technologists, this one-of-a-kind, full-color guide creates a design process specifically for software, making it easy for developers who lack design background to create that compelling user experience.
book Duration 4h 12m book Authors By Erik Klimczak

Book

The Definitive Guide to the Microsoft Enterprise Library
Introducing one of the most exciting and popular .NET-oriented initiatives, the Enterprise Library, this book provides the knowledge you need to get started and get comfortable with the Microsoft Enterprise Library application blocks.
book Duration 6h 48m book Authors By Keenan Newton

Book

Practical Software Development Techniques: Tools and Techniques for Building Enterprise Software
Providing an overview of tools and techniques used in enterprise software development, this book aggregates many "on the job" tools and techniques into a concise format and presents them as both discussion topics and with code examples.
book Duration 2h 58m book Authors By Edward Crookshanks

Book

Microsoft Enterprise Library 5.0: Develop Enterprise Applications Using Reusable Software Components of Microsoft Enterprise Library 5.0
If you are a programmer, consultant, or an associate architect who is interested in developing Enterprise applications, this book covers the fundamental elements of each Application Block so that you get a good understanding of its concepts.
book Duration 2h 21m book Authors By Sachin Joshi
SHOW MORE
FREE ACCESS

BOOKS INCLUDED

Book

Software Development From A to Z: A Deep Dive into all the Roles Involved in the Creation of Software
Helping you understand the big picture of the software development process, this book guides you through the entire process, from conception to the finished product with the aid of user-centric design theory and tools.
book Duration 4h 24m book Authors By Olga Filipova, Rui Vilão

Book

Practical Software Development Techniques: Tools and Techniques for Building Enterprise Software
Providing an overview of tools and techniques used in enterprise software development, this book aggregates many "on the job" tools and techniques into a concise format and presents them as both discussion topics and with code examples.
book Duration 2h 58m book Authors By Edward Crookshanks

Book

Software Development Metrics
This guide is a handbook for anyone who needs to track and guide software development and delivery at the team level.
book Duration 3h 19m book Authors By David Nicolette

Book

The Complete Software Developer's Career Guide: How to Learn Your Next Programming Language, ACE Your Programming Interview, and Land the Coding Job of Your Dreams
Explaining that technical knowledge alone isn't enough, this book teaches you how to level up your soft skills and how to systematically find and fill the gaps in your technical knowledge so you can face any new challenge with confidence.
book Duration 11h 24m book Authors By John Sonmez

Book

Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring, Second Edition
Whether you're new to programming or have written hundreds of applications, this practical book teaches you the principles of good software design, and how to turn those principles into great code.
book Duration 7h 21m book Authors By John F. Dooley

Book

Enterprise Software Architecture and Design: Entities, Services, and Resources
Intended to bridge the gap between high-level conceptual overviews and in-depth technical tutorials, this timely reference provides principles and best practices for the design and development of enterprise software applications.
book Duration 9h 38m book Authors By Dominic Duggan

Book

Working with Coders: A Guide to Software Development for the Perplexed Non-Techie
For anyone who employs, contracts, manages, or works with software developers, this practical book delivers the understanding necessary to reduce friction and inefficiencies at the intersection between software development teams and their non-technical colleagues.
book Duration 5h 47m book Authors By Patrick Gleeson

Book

Application Development and Design: Concepts, Methodologies, Tools, and Applications, Volume I, Third Edition
Providing both broad and detailed perspectives on cutting-edge theories and developments, this comprehensive resource aims to empower students, researchers, and academicians with a strong understanding of critical issues within application development and design.
book Duration 11h 32m book Authors By Information Resources Management Association (IRMA)
SHOW MORE
FREE ACCESS

YOU MIGHT ALSO LIKE

CHANNEL Go
Likes 91 Likes 91