Friday, October 30, 2020

MCSA_Course 20480: Programming in HTML5 with JavaScript and CSS3

 Implement and Manipulate Document Structures and Objects

  • Create the document structure by using HTML

·        Structure the UI by using semantic markup, including markup for search engines and screen readers, such as Section, Article, Nav, Header, Footer, and Aside; create a layout container in HTML

  • Write code that interacts with UI controls

·        Programmatically add and modify HTML elements; implement media controls; implement HTML5 canvas and SVG graphics

  • Apply styling to HTML elements programmatically

·        Change the location of an element; apply a transform; show and hide elements

  • Implement HTML5 APIs

·        Implement storage APIs and the Geolocation API

  • Establish the scope of objects and variables

·        Define the lifetime of variables; keep objects out of the global namespace; use the “this” keyword to reference an object that fired an event; scope variables locally and globally

  • Create and implement objects and methods

·        Implement native objects; create custom objects and custom properties for native objects using prototypes and functions; inherit from an object; implement native methods and create custom methods

Implement Program Flow

  • Implement program flow

·        Iterate across collections and array items; manage program decisions by using switch statements, if/then, and operators; evaluate expressions

  • Raise and handle an event

·        Handle common events exposed by DOM (OnBlur, OnFocus, OnClick); declare and handle bubbled events; handle an event by using an anonymous function

  • Implement exception handling

·        Set and respond to error codes; throw an exception; request for null checks; implement try-catch-finally blocks

  • Implement asynchronous programming

·        Receive messages from the HTML5 WebSocket API; use JQuery to make an AJAX call; wire up an event; implement a callback by using anonymous functions; handle the “this” pointer

  • Create a web worker process

·        Start and stop a web worker; pass data to a web worker; configure timeouts and intervals on the web worker; register an event listener for the web worker; limitations of a web worker

Access and Secure Data

  • Validate user input by using HTML5 elements

·        Choose the appropriate controls based on requirements; implement HTML input types and content attributes to collect user input

  • Validate user input by using JavaScript

·        Evaluate a regular expression to validate the input format; validate that you are getting the right kind of data type by using built-in functions; prevent code injection

  • Consume data

·        Consume JSON and XML data; retrieve data by using web services; load data or get data from other sources by using XMLHTTPRequest

  • Serialize, deserialize, and transmit data

·        Handle binary data; handle text data such as JSON and XML; implement the JQuery serialize method; use Form.Submit; parse data; send data by using XMLHTTPRequest; sanitize input by using URI/form encoding

Use CSS3 in Applications

  • Style HTML text properties

·        Apply styles to text appearance; apply styles to text font, including WOFF, @font-face, size, and understudy fonts; apply styles to text alignment, spacing, and indentation; apply styles to text hyphenation; apply styles for a text drop shadow

  • Style HTML box properties

·        Apply styles to alter appearance attributes, including size, borders, rounded corners, outline, padding, and margin; apply styles to alter graphic effects, including transparency, opacity, background image, gradients, shadow, and clipping; apply styles to establish and change an element’s position

  • Create a flexible content layout

·        Implement a layout using a flexible box model; implement a multi-column layout; implement a layout using position floating and exclusions; implement a layout using grid alignment; implement a layout using regions, grouping, and nesting

  • Create an animated and adaptive UI

·        Animate objects by applying CSS transitions; apply 3-D and 2-D transformations; adjust UI based on media queries, including device adaptations for output formats, displays, and representations; hide or disable controls

  • Find elements by using CSS selectors and JQuery

·        Choose the correct selector to reference an element; define element, style, and attribute selectors; find elements by using pseudo-elements and pseudo-classes

  • Structure a CSS file by using CSS selectors

·        Reference elements correctly; implement inheritance; override inheritance by using !important; style an element based on pseudo-elements and pseudo-classes

Thursday, October 15, 2020

MCSA_Course 20483: Programming in C#

Manage Program Flow

  • Implement multithreading and asynchronous processing

·        Use the Task Parallel library, including theParallel.For method, PLINQ, Tasks;create continuation tasks; spawn threads by using ThreadPool; unblock the UI; use async and await keywords; manage data by using concurrent collections

  • Manage multithreading

·        Synchronize resources; implement locking; cancel a long-running task; implement thread-safe methods to handle race conditions

  • Implement program flow

·        Iterate across collection and array items; program decisions by using switch statements, if/then, and operators; evaluate expressions

  • Create and implement events and callbacks

·        Create event handlers; subscribe to and unsubscribe from events; use built-in delegate types to create events; create delegates; lambda expressions; anonymous methods

  • Implement exception handling

·        Handle exception types, including SQL exceptions, network exceptions, communication exceptions, network timeout exceptions; use catch statements; use base class of an exception; implement try-catchfinally blocks; throw exceptions; rethrow an exception; create custom exceptions; handle inner exceptions; handle aggregate exception

Create and Use Types

  • Create types

·        Create value types, including structs and enum; create reference types, generic types, constructors, static variables, methods, classes, extension methods; create optional and named parameters; create indexed properties; create overloaded and overriden methods

  • Consume types

·        Box or unbox to convert between value types; cast types; convert types; handle dynamic types; ensure interoperability with code that accesses COM APIs

  • Enforce encapsulation

·        Enforce encapsulation by using properties; enforce encapsulation by using accessors, including public, private, protected, and internal; enforce encapsulation by using explicit interface implementation

  • Create and implement a class hierarchy

·        Design and implement an interface; inherit from a base class; create and implement classes based on the IComparable, IEnumerable, IDisposable, and IUnknown interfaces

  • Find, execute, and create types at runtime by using reflection

·        Create and apply attributes; read attributes; generate code at runtime by using CodeDom and Lambda expressions; use types from the System.Reflection namespace, including Assembly, PropertyInfo, MethodInfo, Type

  • Manage the object life cycle

·        Manage unmanaged resources; implement IDisposable, including interaction with finalization; manage IDisposable by using the Using statement; manage finalization and garbage collection

  • Manipulate strings

·        Manipulate strings by using the StringBuilder, StringWriter, and StringReader classes; search strings; enumerate string methods; format strings; use string interpolation

Debug Applications and Implement Security

  • Validate application input

·        Validate JSON data; choose the appropriate data collection type; manage data integrity; evaluate a regular expression to validate the input format; use built-in functions to validate data type and content

  • Perform symmetric and asymmetric encryption

·        Choose an appropriate encryption algorithm; manage and create certificates; implement key management; implement the System.Security namespace; hash data; encrypt streams

  • Manage assemblies

·        Version assemblies; sign assemblies using strong names; implement side-by-side hosting; put an assembly in the global assembly cache; create a WinMD assembly

  • Debug an application

·        Create and manage preprocessor directives; choose an appropriate build type; manage program database files (debug symbols)

  • Implement diagnostics in an application

·        Implement logging and tracing; profiling applications; create and monitor performance counters; write to the event log

Implement Data Access

  • Perform I/O operations

·        Read and write files and streams; read and write from the network by using classes in the System.Net namespace; implement asynchronous I/O operations

  • Consume data

·        Retrieve data from a database; update data in a database; consume JSON and XML data; retrieve data by using web services

  • Query and manipulate data and objects by using LINQ

·        Query data by using operators, including projection, join, group, take, skip, aggregate; create methodbased LINQ queries; query data by using query comprehension syntax; select data by using anonymous types; force execution of a query; read, filter, create, and modify data structures by using LINQ to XML

  • Serialize and deserialize data

·        Serialize and deserialize data by using binary serialization, custom serialization, XML Serializer, JSON Serializer, and Data Contract Serializer

  • Store data in and retrieve data from collections

·        Store and retrieve data by using dictionaries, arrays, lists, sets, and queues; choose a collection type; initialize a collection; add and remove items from a collection; use typed vs. non-typed collections; implement custom collections; implement collection interfaces

Saturday, September 12, 2020

Software Quality in the lifecycle



Internal quality is the totality of characteristics of the software product from an internal view. Internal quality is measured and evaluated against the internal quality requirements. Details of software product quality can be improved during code implementation, reviewing and testing, but the fundamental nature of the software product quality represented by internal quality remains unchanged unless redesigned.

External Quality is the totality of characteristics of the software product from an external view. It is the quality when the software is executed, which is typically measured and evaluated while testing in a simulated environment with simulated data using external metrics. During testing, most faults should be discovered and eliminated. However, some faults may still remain after testing. As it is difficult to correct the software architecture or other fundamental design aspects of the software, the fundamental design usually remains unchanged throughout testing.

Quality in Use is the user’s view of the quality of the software product when it is used in a specific environment and a specific context of use. It measures the extent to which users can achieve their goals in a particular environment, rather than measuring the properties of the software itself.

Sunday, June 21, 2020

MTA Exam 98-375: HTML5 Application Development Fundamentals

Manage the application life cycle
Build the user interface (UI) by using HTML5
Format the user interface by using Cascading Style Sheets (CSS)
Code by using JavaScript

Manage the application life cycle

Understand the platform fundamentals
Packaging and the runtime environment: app package, app container, credentials/permission sets, host process, leverage existing HTML5 skills and content for slate/tablet applications

Manage the state of an application
Manage session state, app state, and persist state information; understand states of an application; understand the differences between local and session storage

Debug and test an HTML5-based, touch-enabled application
Touch gestures; understand which gestures you test on a device

Build the user interface (UI) by using HTML5

Choose and configure HTML5 tags to display text content

Choose and configure HTML5 tags to display graphics
When, why, and how to use Canvas; when, why, and how to use scalable vector graphics (SVG)

Choose and configure HTML5 tags to play media
Video and audio tags

Choose and configure HTML5 tags to organize content and forms
Tables, lists, sections; semantic HTML

Choose and configure HTML5 tags for input and validation

Format the user interface by using Cascading Style Sheets (CSS)

Understand the core CSS concepts
Separate presentation from content (create content with HTML and style content with CSS); manage content flow (inline versus block flow); manage positioning of individual elements( float versus absolute positioning); manage content overflow (scrolling, visible, and hidden); basic CSS styling

Arrange UI content by using CSS
Use flexible box and grid layouts to establish content alignment, direction, and orientation; proportional scaling and use of "free scale" for elements within a flexible box or grid; order and arrange content; concepts for using flex box for simple layouts and grid for complex layouts; grid content properties for rows and columns; use application templates

Manage the flow of text content by using CSS
Regions and using regions to flow text content between multiple sections (content source, content container, dynamic flow, flow-into, flow-from, msRegionUpdate, msRegionOverflow, msGetRegionContent); columns and hyphenation and using these CSS settings to optimize the readability of text; use "positioned floats" to create text flow around a floating object

Manage the graphical interface by using CSS
Graphics effects (rounded corners, shadows, transparency, background gradients, typography, and Web Open Font Format); two-dimensional (2-D) and three-dimensional (3-D) transformations (translate, scale, rotate, skew, and 3-D perspective transitions and animations); SVG filter effects; Canvas

Code by using JavaScript

Manage and maintain JavaScript
Create and use functions; jQuery and other third-party libraries

Update the UI by using JavaScript
Locate/access elements; listen and respond to events; show and hide elements; update the content of elements; add elements

Code animations by using JavaScript
Use animation; manipulate the canvas; work with images, shapes, and other graphics

Access data access by using JavaScript
Send and receive data; transmit complex objects and parsing; load and save files; App Cache; datatypes; forms; cookies; localStorage
Respond to the touch interface
Gestures, how to capture and respond to gestures
Code additional HTML5 APIs
GeoLocation, Web Workers, WebSocket; File API
Access device and operating system resources
In- memory resources, such as contact lists and calendar; hardware capabilities, such as GPS, accelerometer, and camera

Sunday, June 14, 2020

Suggession Course for High school students: publish project on Github using Visual Studio Code and Git

Lets start publishing ThreeLang project to Github using Visual studio code and Git

Download visual studio code: https://code.visualstudio.com/
Download Git: https://git-scm.com/
Create account in Github: https://github.com/

1- Open Git Bash terminal and type four following commands:

git config — global user.name "type your name here"
git config — global user.email "typeyour@email.com"
git config — global push.default matching
git config — global alias.co checkout


To see if you did this right, you can type:
git config — global user.name
git config — global user.email

2- Access the integrated terminal (git) in visual studio code

Click New terminal and Change terminal default to git



select git bash


3-Create a repository in the root of your project

Type on git bash: git init


update any file in Project


4- Go to the Source Control Section of visual studio code



Untracked files are newly created project files that are yet to be staged.

Stage changes

Commit changes


5- Create a new repository on Github

create account, then create repository


Copy the repository

6- Add a remote
Go back to Visual Studio Code → Click View → Click integrated terminal →
Run the command: git remote add origin [ paste your repository url ]

To check if it worked, type git remote -v and it should be pointing to your repository like so:


7- Publish your project to Github


You will be prompted to log in your github account credentials → Enter credentials

Then
Go back to Github → Scroll down →On the right sidebar, under Your Repositories, click your project name, You should see this:



8- Push anytime Changes..

Anytime you make a change, use Push
staged changes Then Commit Then Push


If you want to review changes Go to Source Control section and Review changes by click on files changes




Friday, June 12, 2020

Suggession Course for High school students: Coding Multiple programming languages in visual studio code

Lets start coding C#, Java and Python in Visual Studio Code...

Visual Studio Code
Download& Install Visual studio code: https://code.visualstudio.com/

C#
Download& Install .NET Core: https://dotnet.microsoft.com/

Java
Download& Install Java: https://www.oracle.com/java/ , open jdk: https://jdk.java.net/

Python
Download& Install Python: https://www.python.org/

Lets Go..

1- Go to specific driver location in your computer and create folder and rename it “ThreeLang”
2- Open folder and in address bar type cmd and Click Enter

3- in cmd window Type code . and Click Enter, the visual studio code opening

4-Go to Extension and type in search bar c#, select and install (see picture)

5- type in search bar java, select and install (see picture)

6-type in search bar python, select and install (see picture)

7-Now we install the three languages extensions, Go to Explorer
8-Create three folders under “ThreeLang” folder and name it Csharp,Java,Python

9-Open terminal (Ctrl + `) and Type cd Csharp, this enter inside Csharp folder

10- Create C# project by Type in terminal (dotnet new console)
11-Open Command Palette by Click (Ctrl+shift+p) and Type (Reload window)

12-This set required configuration to build and debug , Click yes (See picture)

13-in program.cs file write your c# program
14-in terminal type (dotnet build) to build then (dotnet run) to run project

15-in Terminal Type (cd ..),(cd Java) , this enter inside Java folder
16-Create java file (Program.java) and write your java program

17- in Terminal Type (java program.java) to run java program

18- in Terminal Type (cd ..),(cd Python) , this enter inside Python folder
19- Create Python file (Program.py) and write your python program
20- in Terminal Type (python program.py) to run python program