About This Website

My name is Kevin Harris. I live in Homer Illinois and work for a great little company in Champaign Illinois as a .NET developer. I create web applications (Web Forms, MVC) and web services (WCF, Web API) using C# with Entity Framework. I also work on older websites using VB with SQL. On occasion I also create PC applications using C# with Entity Framework. Since obtaining my MCSD in Web Applications, I have been taking course through Microsoft Virtual Academy, Pluralsight, Safari Books Online, and Udemy. I have been tracking those course on this page.

,Suzy at Homer Lake (April 2014)
.MCSD: Web Applications
.
,Suzy at Homer Lake (March 2015)


Microsoft Certification Transcript


.Certification Transcript


Microsoft Virtual Academy Courses Completed


  • Rapidly Diagnose and Solve Application Problems - Andrew Hall examines debugging improvements in Visual Studio 2015. All demo session showing tips and tricks to debugging with Visual Studio 2015. Completed: 5/15/2016

  • A Guide to Object-Oriented Practices - Bill Wagner and James Sturtevant provide guidance in applying object-oriented principles. Lessons are broken down by these topics: Encapsulation, Inheritance, Interfaces, Abstract Classes, Generics, Delegates Events and Lambdas, and Functional Programming (5 Hours, 6 Modules). Completed: 5/28/2016

  • Building Blocks: Web Applications - Christoper Harrison and Kasey Champion. Discuss working with Git repositories, package managers, and the Basics of Angular 2.0. This is a course to help be prepared for the sessions in Build 2016. (1 Hour, 5 Modules). Completed: 5/29/2016

  • Demystifying LINQ - Bill Wagner and Jeremy Foster discuss how LINQ works under the covers. They cover how to enumerate collections using LINQ and show how to build Where and Select statements, as well as the Any, Count, and Sum methods. They also show how query expressions map to methods and discuss performance considerations. Lessons are broken down by these topics: Enumerating Collections in LINQ, Build Where and Select, Building Any, Count, and Sum, Building OrderBy and ThenBy, From Query Expressions to Methods, Performance Considerations (7 Hours, 9 Modules). Completed: 07/07/2016.

Pluralsight Courses

I took Pluralsight courses while studying for my Microsoft certifications. After completing my MCSD, I decided to continue taking Pluralsight courses and completed the following:

  • C# Fundamentals with Visual Studio 2015 - Scott Allen, released Sept. 25, 2015, 5 hrs 20 min. Instruction on how to build classes, program with objects, and work with interfaces using the C# language. Completed: 5/31/2016

  • Git Fundamentals - James Kovacs, released May. 23, 2012, 1 hrs 51 min. Instruction on working with Git repositories. Completed: 5/31/2016

  • C# Programming Paradigms - Scott Allen, released Sept. 30, 2011, 2 hrs 44 min. Instruction on C# programming with LINQ, Lambda Expressions, Extension Methods, Dynamic Language Runtime (DLR) features, and crafting quality code. Completed: 6/9/2016

  • LINQ Fundamentals - Scott Allen, released Oct. 26, 2008, 4 hrs 50 min. Instruction on LINQ, Lambda Expressions, Extension Methods, and Dynamic Queries. Completed: 6/14/2016

  • Entity Framework and Data Models - Julie Lerman, released Nov. 5, 2010, 1 hrs 32 min. Instruction on Entity Framework (EF). EF goals, model concepts, exploring modes in design view and XML, watching database activity caused by EF, creating database-first and model-first data models. Completed: 6/16/2016

  • Getting Started with Entity Framework 6 - Julie Lerman, released Nov. 16, 2015, 2 hrs 37 min. Instruction on Entity Framework (EF). Creating a code based model and database. Using EF to interact with with your data (DbContext, CRUD operations, working with related data. Working with connected data vs disconnected data. Example projects with EF in WPF, MVC, and Web Services. Completed: 6/18/2016

  • Introduction to ASP.NET 4 Web Forms - Dan Wahlin and Fritz Onion, released April 11, 2011, 8 hrs 41 min. Instruction on web form features, data source controls, entity framework, master pages, AJAX controls, security, dynamic data, and web deployment. Completed: 06/28/2016

  • More Effective LINQ - Mark Heath, released March 1, 2016, 4 hrs 26 min. Instruction on effective use of LINQ, including optimizing performance, writing clean and readable code, testing and debugging, using pipeline processing, and using a functional style of coding. Completed: 7/2/2016

  • Practical LINQ - Deborah Kurata, released Sept. 17, 2013, 3 hrs 32 min. Instruction on using LINQ to search, sort, create, compare, and analyze data. Discusses LINQ's common syntax, strong typing Intellisense support, and transformational features. Completed: 7/4/2016

  • Entity Framework in the Enterprise - Julie Lerman, released Sept. 19, 2012, 3 hrs 16 min. Covers Entity Framework with Domain Driven Design, Repository and Unit of Work patterns, multiple contexts, reverse engineering databases attaching graphs, working with disconnected graphs, and automated testing. Completed: 7/17/2016

  • Entity Framework Database Performance Anti-patterns - Russ Thomas, released June 05, 2015, 1 hr 59 min. Identifies anti-patterns that keep EF-based applications from reaching optimal performance from the perspective of the DBMS. Covers working with too much data (i.e should use projection to limit the data to just columns actually needed, selecting all columns can risk someone adding columns with large amount of data you don't need.), don't filter at the client, filter at the database (to create applications that will scale well), the impact of working with procedural EF code (e.g putting EF in nested loops or recursive chains, instead use joins), the benefit of using set-based interactions with the database, the compounding affects of choosing the wrong data types (don't just accept the default data types), enforcing data constraints at the database (unique constraints, size limitations, relationships), deciding between eager-loading and lazy-loading (using lazy loading when navigation paths are not clear), determining the SQL EF is generating with database profiler traces and database.log, best use of local caches. Completed: 7/20/2016

  • What's New in C# 6 - Scott Allen, released Sept. 20, 2014, 1 hr 43 min. (C# 1.0=2002, 2.0 = 2005 (Generics), 3.0 = 2007 (Var, Lambda, LINQ), 4.0 = 2010 (dynamic typing) , 5.0 = 2012 (Async), 6.0 = 2014 (compiler rewrite, Rosyln is open-source, API allows easier third-party extensions)). Covers new language features: auto property initializer, params keyword (to allow variable number of parameters) with IEnumberable, "0b" binary literal prefix, similar to "0x" prefix for hex, conditional access operator (?.) for accessing potentially null items, Expression Bodied Members (define methods using lambda style syntax). Completed: 7/22/2016

  • C# Tips and Traps - Jason Roberts, released August 20, 2013, 3 hr 57 min. Covered customizing the the display of data in the debugger with debugger display attributes, use of the C# 6.0 null-coalesing operator (??), use of CallerInfo attributes to provide debug data (CallerMemberName, CallerFilePath, CallerLineNumber), perform type conversion at runtime where type is not known in advance (Convert.ChangeType), use internals visible attributes to expose internals to outside assemblies [assembly: InternalsVisibleTo]. Also string.IsNullOrWhitespace, string.Empty, preprocessor directives to conditionally compile parts of code, emitting custom compiler warnings and errors, creating random numbers for security applications, using Tuples to return multiple values from a method, value comparison vs reference comparison (object.ReferenceEquals). IQueryable to dynamically build LINQ queries vs IENumerable (e.g. ToList()) to execute the query a single time. Also how to conditionally format data values, [Obsolete] attribute, the Process class to start new processes and capture their output(Process.Start(@"c:\temp\hello.txt");, ProcessStartInfo to control output of started process, .Clone(), .CopyTo(), .ConvertAll(), .ConstrainedCopy(), throw exceptions to maintain stack trace information. How to parse numbers using the NumberStyles enumeration, using DataTime.ParseExact to avoid ambigous Date Times, and use of DateTimeStyles enumeration, difference between using casting and the "as" operator, how to exit a loop early with the "break" statement and how to short-circuit the current loop interaction with the "continue" statement, the affect of optional parameters and binary compatibility with public APIs. Also use of "yield return" with IEnumberables, BigInteger class to create large integers, formatting data in fixed columns padleft/padright vs using composite format string (Name:{0, -20}), use of IFormatProvider and ICustomFormatter to create custom string formats. Use [Conditional' attribute to conditionally compile methods, System.IO.Path for working with files, chaining of constructor overloads, System.Environment to get computer system information Completed: 7/27/2016

  • LINQ Fundaments with C# 6.0 - Scott Allen, released July 28, 2016, 4 hrs 22 min. Instruction on LINQ, lambda expressions, extension methods, projection, tips to avoid performance problems, joining , grouping, and aggregating, LINQ with Entity Framework. Completed: 08/05/2016

  • C# Events, Delegates and Lambdas - Dan Wahlin, released April 26, 2013, 3 hrs 11 min. Instruction on defining events, handling events, creating and using delegates, anonymous methods, lambdas, Func<T>, Action<T>, asynchronous delegates, and background worker events. Delegates (function pointers), lambdas (inline methods), predicates (filtering type action), and .NET built-in delegates: Func<T, TResult>, Action<T>. Completed: 8/7/2016

  • Mobilize Your ASP.NET Web Forms - Jeff Fritz, released June 18, 2014, 2 hrs 9 min. Mobilize accessibility to legacy ASP.NET web forms. Mobile web development is a cost-effective strategy as opposed to native, or even hybrid, development for individual mobile operating systems. Native development would use Objective-C for Apple devices and Java for Android devices. Hybrid development would use the same code base while cross-compiling for different mobile operating systems. Mobile web development makes use of the fact that all mobile devices have a browser which can access a website developed from a single code base with no need for cross-compiling for different devices. Two mobile strategies include Adaptive Rendering and Alternative Rendering. Adaptive Rendering will automatically size and shape the content based on the screen dimensions of the displaying device. Frameworks, such as Bootstrap and Foundation, exist for Adaptive Rendering. Alternative Rendering provides a completely different and unique format specific for the screen dimensions and capabilities of the displaying device. Frameworks using in Adaptive Rendering include jQueryMobile and KendoUIMobile. Completed: 8/14/2016

  • C# Collection Fundamentals - Simon Robinson, released April 8, 2014, 5 hrs 56 min. How to use the set of collections available in C#, including arrays, lists, dictionaries, and sets. How to these collections work under the hood and how to customize collection behavior. Also covered enumerators and collection interfaces such as IEnumerable<T>, ICollection<T>, IList<T>, ISet<T> and IDictionary<T>. Using collection interfaces allows for loose coupling and easier testing by exposing collections as interfaces rather than direct types. The older non-generic collections are still supported in .Net for backward compatibility (Generics was introduced in .NET 2.), but the generic versions are recommended for new development. Concurrent collections were introduced in .NET 4.0 while read-only versions of collections were introduced in .NET 4.5. Completed: 8/15/2016

  • C# Design Strategies - Jon Skeet, released April 26, 2012, 3 hrs 15 min. Instruction on good coding practices as well as some of the "Gang of Four" design patterns. Singletons, interfaces, dependency injection, inversion of control, factory pattern, builder pattern, disposal pattern, strategy pattern, composition with the Decorator, Open, Closed, and Substitution. Completed: 8/17/2016

  • Introduction to Bootstrap - Scott Allen, released Feb 4, 2013, 2 hrs 9 min. How to use Bootstrap's CSS and JavaScript to turn plain HTML into navigational menus, picture carousels, split buttons, alerts, modal dialogs, an more. Bootstrap open source from the developers at Twitter that can be used with any editor or server technology. Completed: 08/19/2016

  • Bootstrap 3 - Shawn Wildermuth, released Nov 13, 2013, 3 hrs 50 min. Overview of Bootstrap 3. Its grid system, theming, customizing Bootstrap packages, structures and components, and plugins. Completed: 08/21/2016

  • Building Mobile Web Sites Using WebForms, Bootstrap, and HTML5 - Paul D. Sheriff, released Aug 29, 2014, 4 hrs 25 min. Instruction on media queries, friendly URLs, Bootstrap, View State options, responsive menus, navigation options, business screens and wizards. Completed: 08/25/2016

  • jQuery Fundamentals - Dan Wahlin, released Feb 20, 2011, 5 hrs 18 min. Covers interactions with the DOM, interation through nodes, adding/removing nodes, modifying properties/attributes/classes, handling events, making GET and POST requests, and the ajax() function. 08/27/2016

  • JavaScript for C# Developers - Shawn Wildermuth, released Aug 20, 2012, 2 hrs 5 min. A comparison of the fundamentals of JavaScript with the corresponding elements in C#. The foundational concepts differ significantly as JavaScript is a functional language with dynamic typing and prototypal inheritance. C# has been my primary language for the past few years, so I appreciated this comparison approach of exploring JavaScript. Completed: 8/29/2016

  • Increase Productivity: Add a Dev Console to Your App with JavaScript - Carlos Saloio, released August 2016. Steps you through adding a popup development console to your app. Invoked with the Ctrl-Backquote key, this command line console allows administrators to run quick commands, such as to unlock a user who has entered too many incorrect passwords. Or to quickly perform other tasks without going through GUI screens. The course uses Visual Studio Code which is a general purpose open-source code editor released in November 2015. VSC supports syntax highlighting, code completion and debugging for a number of languages. It worked very well for the HTML, CSS, and JavaScript used in this project. The project also used the node.js runtime, and it's npm package manager to install Live Server which provides for "live-loading" so you can see the changes to your web page as you type in the editor. Completed: 10/2/2016

  • React and Flux for Angular Developers - Tony Alicea, released Feb. 10, 2016. Introduces AngularJS developers to React and Flux. Compares and Contrasts React with Angular 1.x and how Flux differs from MV*. Components, the virtual DOM, Directives, Watchers, JSX, and Flux. Completed: 10/5/2016

  • Tactics and Tools for Troubleshooting Front-end Web Development - Shelley Benhoff, released September 14, 2016. Tools to troubleshoot HTML, CSS, and JavaScript and make websites cross-browser compatible. Used: Firefox Developer Edition, Firefox Firebug plugin, Chrome Developer Tools, IE Developer Tools, and BrowserStack.com. Completed: 10/9/2016

  • jQuery Animation - Mark Zamoyta, released October 13, 2013. jQuery animation methods: show(), hide(), animate(). Using CSS "transform" property to animate non-numeric CSS values and perform 2D and 3D transformations. Chaining animations and creating an animation state engine. Completed: 10/18/2016

  • jQuery Tips and Tricks - Dan Wahlin and Elijah Manor, released July 18, 2013. Covers tips and tricks related to working with the DOM, handling and triggering events, making Ajax calls, working with and caching data locally, as well as taking advantage of built-in jQuery utility functions. Completed: 11/6/2016

  • Structuring JavaScript Code - Dan Wahlin, released December 11, 2011. Covers key patterns to encapsulate and modularize JavaScript code. Instruction on how to structure code to make it more re-usable, more maintainable, and less susceptible to naming collisions. Covers Module, Revealing Module, Prototype, and Revealing Prototype patterns. Completed: 11/9/2016

  • Using ES6 with TypeScript - Steve Ognibene, released February 25, 2016. Covers the new aspects of ES6 using TypeScript to transpile ES6 to ES5. Uses the Atom IDE to explore the coding of new ES6 classes, modules, and syntax. Completed: 11/13/2016

  • JavaScript Design Patterns - Aaron Powell, released April 17, 2012. Covers function argument patterns, chaining, observable properties, timers, including asynchronous execution and recursive setTimeout. Also module patterns, pub-sub patterns, and the promise pattern. Completed: 11/20/2016

  • Play by Play: Ethical Hacking - Deconstructing the Hack - Gary Eimerman and Troy Hunt, released December 4, 2015. Recent attacks and data breaches were discussed including how the attack was accomplished and the affect of the attack: TalkTalk, Ashley Madison, Sony Pictures, Drupal, and Nissian. SQL injection 101, mitigating the risks of sql injections, session hijacking, cross-site scripting, man-in-the middle attacks, distributed denial of service (DDOS), firewalls, Intrusion Detection Systems (IDS), and honeypots. Shodan and Low Orbit Ion Cannon sites examined. Completed: 11/21/2016

  • Advanced JavaScript - Kyle Simpson, released April 9, 2015. Covers the core mechanics of how JavaScript compiles, optimizes, and executes in the browser. Also scope, closure, object-oriented, and async patterns. Completed: 11/25/2016

  • JavaScript Best Practices - Jonathan Mills, released April 5, 2016. Defensive JavaScript programming, JS syntax and behavioral oddities, linting, strict mode, async patterns, Babel, ES7 Async-Await. Completed: 11/25/2016

  • Ethical Hacking: Social Engineering - Troy Hunt, released Feb 4, 2016. Ploys and tools used in social engineering attacks. Examples: cold calls, target data breach, phishing emails phishing pages, using search and social media sites to gain information, identity impersonation and theft, hooking web browsers with tools like BeEF, automated launching of phishing campaigns with tools like Phish 5, countermeasures. Tools: TOR network PhishTank, Phish5, BeEF. Completed: 11/26/2016

  • Web App Hacking: Cookie Attacks - Dawid Czagan, released August 22, 2016. Understanding how cookies work, their structure, and how cookies can be stolen. Various techniques for stealing and tampering with cookies, cross site scripting, click jacking. Completed: 11/28/2016

  • Ethical Hacking: SQL Injection - Troy Hunt, released May 19, 2015. Understanding types of SQL injection: Error Based, Union Based, Blind Injection (Boolean Based, Time Based). Manual attacks: extracting schema details and data. Ways to perform SQL injection: reflective, persistent. Advanced attacks (WAITFOR Delay) time base, boolean based. Extracting passwords from hashes, executing commands on operating sytem. Prevention in code, configurations, and devices for prevention. Automated tools for performing SQL injection, testing for injection vulnerabilities (fuzz testing), and web security toolkits (Burp Suite, Havij, sqlmap, NetSparker). Completed: 12/02/2016

  • Ethical Hacking: Hacking Web Applications - Troy Hunt, released October 8, 2015. Reconnaissance and Footprinting, Forced Browsing, Server Fingerprinting, Tampering with Untrusted Data, Cross-site Scripting, Cross-site Request Forgery, Denial of Service, Identity Management and Access Controls Attacks and Insecure Crypotographic Storage. Completed: 12/04/2016

  • Ethical Hacking: Session Hijacking - Troy Hunt, released July 2015. Persisting Sessions in Web Applications, Cookie Stealing with Reflected Cross-Site Scripting, Exposed Session ID, Session Sniffing, Preventing Session Hacking, and Automated Session Hijacking Attacks. Completed: 12/10/2014

  • OWASP Top 10 Web Application Security Risks for ASP.NET - Troy Hunt, released April 29, 2013. SQL Injection, Session Hijacking, Cross Site Scripting, Insecure Direct Object References, Access Controls, Security Misconfigurations, Cross Site Request Forgery, Components with Known Vulnerabilities, Unvalidated Redirects, Untrusted Data, Whitelisting, Output Encoding, Insufficient Transport Layer Security, and Insecure Cryptographic Storage. Completed: 12/24/2016

  • ASP.NET Security Secrets Revealed - Troy Hunt, released January 7, 2014. Web.config, Forms authorization, membership, identity, new security features in MVC, Web Forms Security, using NuGet to update libraries, general security principles and tools. Completed: 12/25/2016

  • Rapid ES6 Training - Mark Zamoyta, released April 5, 2016. ES6 new syntax, block scoping (let, const), extensions to objects and functions, new ways for working with asynchronous calls (promises, generators, iterators), arrow functions, rest and spread, Modules and classes, new Symbol type, updates to arrays, reflection and proxy API. Completed: 12/27/2016

  • Ethical Hacking: Hacking Wireless Networks - Dale Meredith, released May 3, 2016. Wireless basics, encryption in wireless, threats, countermeasures, hacking Bluetooth and wardriving. Completed: 12/30/2016

  • Hack Yourself First: How to go on the Cyber-Offense - Troy Hunt, released August 30, 2013. SQL Injection, Cross Site Attacks, Cross Site Scripting, Parameter Tampering, Transport Layer Protection, Parameter Tampering,
    Cookies, Intrnal Implementation Disclosure, and Account Management Completed: 12/31/2016.

  • IIS for Developers - Steve Evans, released August 30, 2011. Completed: 01/07/2017

  • IIS Administration Fundamentals - Jeremy Morgan, released July 8, 2016. Completed: 01/12/2017

  • A Comparison of Microsoft Web Technologies - Michael Palermo, released April 12, 2016. Completed: 01/23/2017

  • The MVC Request Life Cycle - Alex Wolf, released June 2, 2015. Completed: 01/28/2017

  • Hands-on JavaScript Project: JSON - Paul Cheney, released March 20, 2017. Use XMLHttpRequest object to access JSON data from web APIs. Project uses AJAX to obtain data from the Weather Undergound. Started: 5/15/2017 Completed: 5/21/2017

  • Become a Full-stack .NET Developer - Mosh Hamedani, released May 25, 2016. Started: 03/2/2017 Completed: xx/xx/2017

  • Become a Full-stack .NET Developer - Advanced Topics - Mosh Hamedani, released May 25, 2016. Started: xx/xx/2018 Completed: xx/xx/2018

  • Become a Full-stack .NET Developer - Architecture and Testing - Mosh Hamedani, released May 25, 2016. Started: xx/xx/2018 Completed: xx/xx/2018

  • Rebuilding Web Forms Applications in MVC - Alex Wolf, released April 12, 2016. Transitioning applications from Web Forms to MVC. Compare and contrast what high-level concepts are shared between Web Forms and MVC. Started: 03/2/2017 Completed: xx/xx/2018

  • Getting Started with JSON in C# Using Json.NET - Xavier Morera, released November 5, 2015. Serialize, deserialize, use LINQ To JSON, improve serialization performance, BSON, create schemas, validate JSON, and, in general, work with Json.NET, a popular, high performance, free, and open source JSON framework for .NET. Started: 5/20/2017 Completed: x/xx/2017

  • Build Your Own Application Framework with ASP.NET MVC 5 - Matt Honeycutt, released March 13, 2014. Completed: xx/xx/xxxx

  • Build an HTML Helper Library for ASP.NET MVC 5 - Paul Sheriff, released January 4, 2016. Completed: xx/xx/xxxx

  • Core:

  • Building a Web App with ASP.NET Core, MVC 6, EF Core, and Angular - Shawn Wildermuth, Built a Web App with ASP.NET Core, MVC 6, EF Core, and Angular. Created web pages and API's using ASP.NET MVC. Secured pages and API's with ASP.NET identity and used AngularJS for client-side development. Completed: xx/xx/xxxx

Safari Books Online Courses

I took Safari Books Online courses on JavaScript, jQuery, jQueryUI, and Bootstrap and posted notes on the cathyharris.net site. The cathyharris.net site is an ASP.NET 4.0 Web Forms site which uses Bootstrap. I created the site for my wife, but then hijacked some of the menus to store notes about front-end development. The course I completed from Safari Books Online include:

  • Learning Path: GitHub - O'Reilly Media, Inc., released August 2016. It takes you through setting up the Git source code control system and a local machine and using it to maintain repositories on GitHub. It helped me set up four GitHub repositories: JS libray, cathyharris.net ASP.NET project, How To's, and Notes which I try to update frequently. Completed: 8/15/2016

  • Computer Science - Robert Sedgewick, released December 2015. Professor of Computer Science at Princeton provides a great first chapter detailing how basic encryption works using a One-Time Pad example. Part II contains great lectures on algorithms and theories. But then what else you expect from someone who had their Ph.D. supervised by Donald Knuth. Completed: 09/02/2016.

  • jQuery and jQuery UI Video Quick Start - Jay Blanchard, released December 2012. Concise examples which get straight to the point. Examples are non-trivial and useful for real world applications. Completed: 09/07/2016.

  • Beginning jQuery 2 for ASP.NET Developers: Using jQuery 2 with ASP.NET Web Forms and ASP.NET MVC - Bipin Joshi, released December 2013. A long title that accurately describes the contents of the course. Good jQuery instruction from the perspective of ASP.NET usage. Also provides an introduction to jQuery UI and jQuery mobile. Completed: 09/13/2016.

  • Introduction to Ajax with jQuery - Walter Wimberly, released September 2013. This is a beginner's book showing the various method jQuery has of requesting data from the server for partial-page postbacks. Completed: 09/23/2016.

  • jQuery UI Development - Ben Fhala, released October 2013. Using jQuery UI to enhance the appearance of web pages and create useful widgets, such as: accordions, tabs, sliders, menus, spinners, and dialogs. Completed: 09/26/2016.

  • A Practical Introduction to React.js - Mike Sugarbaker, released September 2015. Command line workflow with JSX, React's lifecycle, Flux, isomorphic code, and React Native for producing iOS and Android apps. Completed: 10/01/2016.

Udemy Online Courses

  • Learning ASP.NET MVC - A Course For ASP.NET Developers - Infinite Skills. Was helpful when studying for the Microsoft 70-486 exam. Completed: 12/9/2015

  • Learn Brackets - The Open Source Text Editor - Daniel Stern. Brackets is a great environment for experimenting with JavaScript and jQuery. Adobe Brackets is integrated with the Chrome browser for easy execution and debugging of JavaScript. Completed: 4/3/2016

  • JavaScript: Understanding the Weird Parts - Anthony Alicea, 85 lectures, 11.5 hours. Hands down, this is my favorite course on JavaScript! It teaches how JavaScript works "Under the Hood" and explains how JavaScript is different than other mainstream languages. A major section of the
    cathyharris.net - JavaScript Fundamentals page was influenced by this course. Completed: 4/5/2016

  • Learn and Understand AngularJS - Anthony Alicea, 55 lectures, 7 hours. Another great course by Anthony Alicea. Provides the foundational concepts in HTML and JavaScript to build and understanding of AngularJS. Portions of the cathyharris.net - AngularJS page was influenced by this course. Completed: 5/15/2016

  • Learn ASP NET with Bootstrap, Entity Framework, JavaScript - Codeit 24/7. Web forms server controls, with Entity Framework and implementing a responsive site with Bootstrap. Completed: 7/19/2016

  • The Complete ASP.NET MVC 5 Course - Mosh Hamedani. MVC 5 with Code First Entity Framework. Implement CRUD operations, build forms with validation. build RESTful services with Web API, security, authentication, and authorization with ASP.NET Identity, jQuery plugins, optimize and deploy applications. Started: 1/28/2017, Completed: 3/2/2017

  • Learn ASP.Net MVC - Infinite Skills, Basics of MVC: Views, Controllers, Styling, and Validation, MVC Technologies: LINQ, razor and data, shared layouts, E-Commerce Application, Filtering and Grouping, Creating a Shopping Cart, Security: Authorizing Pages, Supporting Mobile Browsers. Started: 3/5/2017, Completed: 4/7/2017

  • Learn jQuery AJAX in 1 hour - Laurence Svekis, Guide to getting started with AJAX use jQuery to make seamless connections to external data sources and APIs. Started: 4/10/2017, Completed: 4/28/2017

  • Build a Real-world App with ASP.NET Core and Angular 2 (4+) - Mosh Hamedani. ASP.NET Core 1.0 with MVC 6, Entity Framework Core and Angular 4+. Building APIs using ASP.NET Core, forms with Angular and Bootstrap, Single Page Applications, implementing CRUD operations, repository pattern, uploading files, authentication and authorization, securing APIs, continuous integration, deployment, automated testing. Started: 7/11/2017, Completed: x/xx/2017

  • The Complete jQuery Course: From Beginner To Advanced! - Peter Sommerhoff. Selectors, animation, DOM insert, change, remove, event handling, forms, and Ajax. Started: 8/2/2017, Completed: 8/14/2017

  • JQuery UI - Interface Design In JQuery - UI Training -Infinite Skills. jQuery UI Utilities, accordion, progress bar, tabs, slider tooltip, menu, spinner, dialog, autocomplete theming, selectable, resizable, draggable, droppable, sortable, UI effects and widget factory. Started: 8/15/2017, Completed: 9/10/2017

  • ASP.Net Quick Start - Brian Gorman. MVC topics with Entity Framework code-first project. Started: 9/18/2017, Completed: 10/3/2017

  • Learn jQuery: An In-depth Course for Beginners - Infinite Skills. Selectors, events, AJAX, Plugins, Real World jQuery Examples. Started: 10/15/2017, Completed: 10/19/2017

  • JavaScript Game Development: Create Your Own Breakout Game - Komar Academy. Canvas, graphics, events. Started: 10/23/2017, Completed: 11/5/2017

  • Comprehensive ASP.net MVC - 3D Buzz Programming and Digital Art Training. Various MVC topics with nHibernate, MySQL, and Fluent Migrator. Started: 12/20/2017, Completed: 12/28/2017

  • C# Intermediate: Classes, Interfaces and OOP - Mosh Hamedani C# classes, interfaces and principles of object-oriented programming. Started: 1/2/2018, Completed: xx/xx/2018

Lynda.com Online Courses

CodeSchool.com Courses

  • Breaking the Ice With Regular Expressions - Search for text patterns using regular expressions and learn to validate emails and URLs, capture information, and use simple patterns to save development time. Completed: 3/28/2015

  • Try jQuery - Using jQuery for DOM traversal, modifying HTML elements, configuring event handlers, and changing CSS. Completed: 8/19/2017

  • jQuery: The Return Flight - Using jQuery for Ajax, utility methods, plugins, and promises. Accessing RESTful APIs. Completed: 8/20/2017

edX - University Courses

  • JavaScript Introduction - University of Côte d'Azur JavaScript in the browser. DOM, HTML5 and various other APIs, ES6 classes, JSON, developer tools and sites. Started: 1/2/2018 Completed: x/xx/2018

Error | ASP.NET Developer

Error

Error message

  • Warning: Cannot modify header information - headers already sent by (output started at /srv/disk9/1218369/www/kcshadow.net/aspnet/includes/common.inc:2748) in drupal_send_headers() (line 1232 of /srv/disk9/1218369/www/kcshadow.net/aspnet/includes/bootstrap.inc).
  • PDOException: SQLSTATE[42000]: Syntax error or access violation: 1142 INSERT command denied to user '1218369_b2cf'@'185.176.40.58' for table 'watchdog': INSERT INTO {watchdog} (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9); Array ( [:db_insert_placeholder_0] => 0 [:db_insert_placeholder_1] => cron [:db_insert_placeholder_2] => Attempting to re-run cron while it is already running. [:db_insert_placeholder_3] => a:0:{} [:db_insert_placeholder_4] => 4 [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => http://kcshadow.net/aspnet/?q=about [:db_insert_placeholder_7] => [:db_insert_placeholder_8] => 54.198.142.121 [:db_insert_placeholder_9] => 1537628676 ) in dblog_watchdog() (line 160 of /srv/disk9/1218369/www/kcshadow.net/aspnet/modules/dblog/dblog.module).
The website encountered an unexpected error. Please try again later.