LifeMichael

LifeMichael

Haim Michael Blog

LifeMichael RSS Feed
 
 
 
 

Introduction to Object Oriented Programming INFO

I am glad to announce about a new course I have recently completed to develop that comes to assist with acquiring the object oriented basic ideas. This course was developed for software programmers who are already familiar with procedural programming and plan to learn an object oriented software programming language such as C#, Java & PHP. This course is available for free (for personal usage only) at abelski.

If you are new to software programming I strongly recommend you to start with the ‘Introduction to Procedural Programming’ before you take this course.

This course uses the common graphics notations for creating flow chart diagrams as well as the common notation for creating UML class diagram. In addition, it uses the BlueJ educational application as a mean for getting into coding and see how everything works in real.

This course includes the following topics:
Introduction        
Objects & Classes       
Class Members        
Encapsulation       
Overloading Methods       
Inheritance       
Overriding Methods       
Abstract Class       
Interface       
Objects Relationships

Mirs Motorola i9 Biorhythm INFO

Biorhythm is a Java ME application for mobile telephones that calculates biorhythmic curves. This application allows setting the birthday and getting the physical (red), emotional (blue) and intellectual (yellow) biorhythmic curves (energy levels) for any selected date. Biorhythm was developed by Mobizex, a separated business unit within Zindell Technologies.

This application is available world wide. One of the carriers that has recently placed it for sale is Mirs. Mirs is the iDEN israeli wireless carrier that offers its customers many of Zindell Technologies‘ Java ME games & applications. Prior to placing Biorhythm for sale via Mirs, Zindell Technologies has developed its version for Motorola i9, the new iDEN mobile telephone model.

Mirs offers to its customers many of Zindell Technologies‘ Java games & applications. Both the ones developed by Jacado and the ones developed by Mobizex. Biorhythm is one of them.

  

PHP. The Business Perspective. INFO

PHP is one of the most popular programming languages used for web applications development. Millions of developers world wide use it and is one of the most popular programming languages used by open source communities. Being endorsed by leading players in the IT market, such as IBM, Oracle and Microsoft, PHP might be the ideal software programming language for Enterprises’ web applications development.
 
Based on my experience during the years, I list below the most important advantages PHP enjoys over its alternatives.
 
Learning Curve
The learning curve for those who choose to learn PHP is simpler and faster (comparing with .NET and Java EE, the PHP alternatives). For a company that wants to train its programmers and provide them with the capabilities and skills to develop web based applications, choosing PHP is less risky and cheaper.

Development Process
Being a simple programming language, when dealing with web applications development the PHP programming language enables a simple and a fast development process. Usually, simpler and faster than Java EE and C#.

 Learning Curve & Development Process

Development Cost
Software programmers’ salaries is a significant cost. Especially when dealing with technologies in which it is difficult to find good programmers. Due to the simple learning curve PHP has, unlike Java EE and .NET it is much simpler to find a PHP developer than a Java EE or a .NET one. For that reason, the common salary for a PHP developer is nearly half the common salary for a Java EE or a .NET developer. In addition, most of PHP development tools and deployment systems are available for free as open source products.

Platform Dependency
Unlike .NET, using PHP we are platform independent as with Java EE. PHP engines are available for most platforms and operating systems.
Development Cost & Platform Dependency

Open Source Community
PHP enjoys a big open source community that generates an enormous number of open source projects. Joomla, WordPress, SugarCRM and many others. Probably more than any other software programming language. Being a popular language, using PHP we can enjoy all benefits related with the usage of open source code projects and tools.

Hosting Services
Being a simple and easy software programming language, unlike Java EE we can find a huge number of hosting services companies that support PHP.
Open Source Community & Hosting Services

This post was extracted from a detailed article I have recently published at www.zuntel.com.

Joomla Case Studies Year 2008 INFO

During 2008 I was involved with the development of several Joomla CMS web sites. The Joomla CMS is an open source project available for free usage. You can download it for free, set it on your server and start running your own web site. The Joomla CMS allows managing the web site content via a comfortable web based interface. Based on my experience with Joomla CMS so far, I can testify that using the Joomla CMS hardly requires any software programming experience. In addition, given the clear separationg Joomla CMS has between the data and the look & feel (theme) it is amazingly simple to change a Joomla CMS web site look & feel. An article published at Zuntel website presents the Joomla CMS web sites I was involved with their development during 2008.

Ness College PHP Web Applications Development Course #2 INFO

Dear Students,

This post will be updated concurrently with the PHP Web Applications Development course, starting on Friday 14th 2009.

This course includes 18 meetings and is composed of the following small separated courses (modules) available at http://xperato.abelski.com:
Introduction to Procedural Programming
Introduction to The Internet
SQL Fundamentals
Introduction to XHTML
CSS Fundamentals
Introduction to MySQL
PHP Fundamentals
Introduction to OOP
PHP Security
PHP Web Services
PHP Zend Framework
Open Source Projects Overview

The first 5 meetings set the required fundamental knowledge for learning PHP. These 5 meetings cover the following topics:

August 14th, 2009 - 1st Meeting
Introduction to Procedural Programming
Computer Hardware Structure, Memory Types, Binary Base, Simple Variables, Input & Output, Arrays, The “if” & “if else” Control Statements, The “while” & “do..while” Loops and Functions.

August 21th, 2009 - 2nd Meeting
Introduction to Procedural Programming
Recursive Functions, Sorting Algorithms and Software Development Life Cycle.
Introduction to The Internet
Internet History, The Web, HTTP Protocol, Web Services and Websites.

August 28th, 2009 - 3rd Meeting
Introduction to Procedural Programming
Sophisticated procedural algorithm problems.
Introduction to XHTML
Introduction, Headings, Paragraphs, Styles and Images.

September 4th, 2009 - 4th Meeting
Introduction to XHTML
Links, Tables, Lists, Forms, Colors and Frams.
CSS Fundamentals
Introduction, Background, Text, Font, Border, Outline, Margin, Padding, List, Table, Dimension, Classification, Positioning and Images.

September 11th, 2009 - 5th Meeting
SQL Fundamentals
SQL Basic Concepts, Rational Database Objects and Data Manipulation Language.
MySQL
The MySQL Database, The Installation Guide and MySQL Query Browser.

The rest of the course (remaining 13 meetings) focus on PHP. These 13 meetings cover the following topics:

September 18th, 2009 - 6th Meeting
PHP Fundamentals
Introduction to PHP, PHP Basics

September 25th, 2009 - 7th Meeting
PHP Fundamentals
PHP Basics

October 2nd, 2009 - 8th Meeting
PHP Fundamentals
Functions

October 9th, 2009 - 9th Meeting
PHP Fundamentals
Arrays

October 16th, 2009 - 10th Meeting
PHP Fundamentals
Strings, Regular Expressions, Web Forms

October 23th, 2009 - 11th Meeting
PHP Fundamentals
Sessions Management

October 30th, 2009 - 12th Meeting
Introduction to OOP
Introduction, Objects & Classes, Class Members, Encapsulation, Overloading Methods, Inheritance, Overriding Methods, Abstract Class, Interface, Objects Relationships
PHP Fundamentals
PHP OOP

November 6th, 2009 - 13th Meeting
Open Source Code Projects
Common Architectures, Joomla, WordPress & Moodle.

November 13th, 2009 - 14th Meeting
PHP Fundamentals
Exceptions Handling and Reflection.

November 20th, 2009 - 15th Meeting
PHP Fundamentals
Database Connectivity.

November 27th, 2009 - 16th Meeting
PHP Fundamentals
PHP Standard Library and Accessing Files.

December 4th, 2009 - 17th Meeting
PHP Fundamentals
Networking
PHP Security
Introduction, Secure Environment and Secure Programming
PHP Web Services
PHP & XML Overview, Document Object Model (DOM), Simple API for XML (SAX), Web Distributed Data Exchange (WDDX), Representational State Transfer (REST) and Simple Object Access Protocol (SOAP).

December 11th, 2009 - 18th Meeting
PHP Zend Framework
Introduction to Zend Framework, Ajax Capabilities, Database Management, Authantication & Authorization, Creating Web Forms, Email Based Components, Web Services Mash Ups and Deployment Consideration.

Regards,

Haim.

Computer Science Academic Courses Wish List EXPR

During all years I have always felt a growing gap between the courses the academic institutes offer in their academic programs and the software development companies’ required skills.

Being focused on the required skills for developing enterprise web based applications I try to compile a wish list of courses, that software development companies’ would have been keen to find included in academic programs.

Fundamental Core Java
This course focuses on Java SE fundamental topics. This course is crucial for Java EE self learning. In addition, this course can pave the way for self learning of similar software programming languages, such as C# and C\C++.

Java Business Components Development
Being focused on Enterprise Java Beans, this course can set the required fundamental knowledge and experience for developing enterprise Java applications. This course should convey the revolutionary approach for developing server side applications composed of separated components. This course should include Java EE common practices and design patterns.

Web Services
Whether using Java or any other software programming language, understanding this topic is crucial for developing cutting edge applications integrated with systems running on different servers all around the world. This course can also be the place for practical projects involved with famous popular server side web based systems, such as facebook, google and others.

Web Applications Development
Whether using Java EE or another software programming language, learning how to develop web applications… learning how the web works… this is a fundamental topic required for learning any other web applications software programming language. Given that Java EE is the richest software programming language for developing web application it should be the preferred option for teaching this topic. This course should also cover one (or two) frameworks as a sample for today practical approach for developing web applications.

Design Patterns
Whether delivered using C++, PHP or Java, learning the standard GoF classic design patterns is highly important for setting fundamental software programming practices. Given the relatively richness of Java comparing with the others, it is highly recommend to choose Java for teaching this course. This cours can also cover the fundamental OOP class design principles.

Modeling Graphics Languages
During the last years, the graphics modeling languages have significantly evolved. SysML, UML and ERD are the most important ones. This cours can also cover the classic software development methodologies and the agile ones.

Web Browser Scripting Languages
Given the recent evolution of browser based scripting languages a dedicated course that focuses on this topic as well as on common web browser markup languages can cover the following topics: XHTML, CSS, ECMA Script, Java Script, Ajax, Flash, Flex and Action Script.

Microsoft www.bing.com Search Engine BIZ

Microsoft has recently launched ‘bing’ at www.bing.com, its new search engine. At first look, you cann’t ignore the similarity between this new search engine and www.google.com. Both of them share a simple and a clean user interface as well as a similar results’s page format.

Comparing the two search engines we cannot avoid the similarity in their results page format and look & feel. The same colors are used for each result. The title in blue, the text in black and the URL address in green. Using the same colors surely creates a user experience comfortable for those who are used to using google. Whether in purpose… or not.. this is surely an excellent business decision.

I haven’t introduced a detailed search comparison between the two. Nevertheless, comparing the results searching for “Jacado Klondike Solitaire” (a popular game for mobile telephones) it seems the two search engines do their job. In total, I got 235 results searching via bing and 22,900 results searching via google. The number of findings is less important. Comparing the first page of results it seems that bing did a better job. Unlike google, it shows pages that focus on “Jacado Klondike Solitaire” only and avoides those pages their URL included the searched term without being focused on “Jacado Klondike Solitaire”. The new search engine (bing.com) also ignors (in its first page of results) those less important pages that shows the Jacado Klondike Solitaire game for sale together with other titles (google is being misleaded… it shows those pages in the first results page). The new search engine (www.bing.com) seems to do its work.

Moving forward trying the new search engine (www.bing.com) the experience I got surely surpisess (in a good way).

The new search engine vibes the look and feel using background theme that fits properly in its colors… and succeeds to create additional interest. Each day and its theme. The next feature one can expect is having the user able to set a new theme based on his own private personal photo. That would surely be an awesome feature lots will enjoy and choose to in order to personalize their own search page.

Moving forward and continue with my experience using bing I found few more nice features one can expect google to catch up and add to its search engine. One of them is the ability to get a snapshot from each one of the pages their URL results are shown on the results page (just by placing the mouse above the URL address).

Other nice features the new bing search engines has include the ability to search for videos (google default search page currently doesn’t allow that) and an easy to use list of our previous searches on the left.

Microsoft surely did an excellent work. Trying to bit their competitor it certainly seems that this time is different.

Introduction to Procedural Programming INFO

I am glad to announce about new course that comes to assist non programmers to acquire the basic notions in procedural programming as a first step before moving forward and learning a software programming language.

This course uses the common graphics notations for flow chart diagrams and snippets of the grammar used in the Java programming language.

The topics covered by this course include the following:
Computer Hardware Structure
Memory Types
Binary Base
Simple Variables
Input & Output
Arrays
The “if” and “if else” Control Statements
The “while” & “do.. while” Loops
Functions
Recursive Functions
Sorting Algorithms
Software Development Life Cycle

Ness College PHP Web Applications Development Course #1 INFO

Dear Students,

This post will be updated concurrently with our course, starting on Wednesday May 27th 2009.

Our course includes 18 meetings and is composed of the following small separated courses (modules) available at http://xperato.abelski.com:
Introduction to Procedural Programming
Introduction to The Internet
SQL Fundamentals
Introduction to XHTML
CSS Fundamentals
Introduction to MySQL
PHP Fundamentals
Introduction to OOP
PHP Security
PHP Web Services
PHP Zend Framework
Open Source Projects Overview

The first 5 meetings set the required fundamental knowledge for learning PHP. These 5 meetings cover the following topics:

May 27th, 2009 - 1st Meeting
Introduction to Procedural Programming
Computer Hardware Structure, Memory Types, Binary Base, Simple Variables, Input & Output, Arrays, The “if” & “if else” Control Statements, The “while” & “do..while” Loops and Functions.

June 3rd, 2009 - 2nd Meeting
Introduction to Procedural Programming
Recursive Functions, Sorting Algorithms and Software Development Life Cycle.
Introduction to The Internet
Internet History, The Web, HTTP Protocol, Web Services and Websites.

June 10th, 2009 - 3rd Meeting
Introduction to Procedural Programming
Sophisticated procedural algorithm problems.
Introduction to XHTML
Introduction, Headings, Paragraphs, Styles and Images.

June 17th, 2009 - 4th Meeting
Introduction to XHTML
Links, Tables, Lists, Forms, Colors and Frams.
CSS Fundamentals
Introduction, Background, Text, Font, Border, Outline, Margin, Padding, List, Table, Dimension, Classification, Positioning and Images.
 
June 24th, 2009 - 5th Meeting
SQL Fundamentals
SQL Basic Concepts, Rational Database Objects and Data Manipulation Language.
MySQL
The MySQL Database, The Installation Guide and MySQL Query Browser.

The rest of the course (remaining 13 meetings) focus on PHP. These 13 meetings cover the following topics:

June 29th, 2009 - 6th Meeting
PHP Fundamentals
Introduction to PHP, PHP Basics
 
July 6th, 2009 - 7th Meeting
PHP Fundamentals
PHP Basics

July 13th, 2009 - 8th Meeting
PHP Fundamentals
Functions

July 20th, 2009 - 9th Meeting
PHP Fundamentals
Arrays

July 27th, 2009 - 10th Meeting
PHP Fundamentals
Strings, Regular Expressions, Web Forms

August 3rd, 2009 - 11th Meeting
PHP Fundamentals
Sessions Management

August 10th, 2009 - 12th Meeting
Introduction to OOP
Introduction, Objects & Classes, Class Members, Encapsulation, Overloading Methods, Inheritance, Overriding Methods, Abstract Class, Interface, Objects Relationships
PHP Fundamentals
PHP OOP

August 17th, 2009 - 13th Meeting
Open Source Code Projects
Common Architectures, Joomla, WordPress & Moodle.

August 24th, 2009 - 14th Meeting
PHP Fundamentals
Exceptions Handling and Reflection.

August 31th, 2009 - 15th Meeting
PHP Fundamentals
Database Connectivity.

September 7th, 2009 - 16th Meeting
PHP Fundamentals
PHP Standard Library and Accessing Files.

September 14th, 2009 - 17th Meeting
PHP Fundamentals
Networking
PHP Security
Introduction, Secure Environment and Secure Programming
PHP Web Services
PHP & XML Overview, Document Object Model (DOM), Simple API for XML (SAX), Web Distributed Data Exchange (WDDX), Representational State Transfer (REST) and Simple Object Access Protocol (SOAP). 

September 21th, 2009 - 18th Meeting
PHP Zend Framework
Introduction to Zend Framework, Ajax Capabilities, Database Management, Authantication & Authorization, Creating Web Forms, Email Based Components, Web Services Mash Ups and Deployment Consideration.

 

Regards,

Haim.

Logtel Java EE Developers Course INFO

More than 300 available vacancies waiting for Java developers are currently offered by various companies in the Israeli market (according to Globes, 31.03.2009).

Although the employment market isn’t simple and many struggle their way searching for a job it seems that many companies still have difficulties finding Java EE developers.

The need for Java EE developers sets an excellent opportunity for any software developer who is looking for a job.

The Java EE Developers course I have recently developed together with Raymond Ludwin from Logtel focuses on acquiring those required skills in today market.

For more info about this course please find its syllabus at http://www.logtel.com/Cts/JavaFundamentals.aspx.