Post 16: My Job Experience

In this post, I am going to break the rules, as I am supposed to write about my own experience and progress at Humber College, Web Development Program, as I usually do, but this time I would like to share my success and experience in my job as a computer instructor at COSTI Immigrant Services. So, I would like to change my topic and article for this post only and go back to continue my blog about Humber College next week.

Yesterday was the last day for my fourth cycle of teaching at COSTI, ELT program. Although I usually receive a positive feedback from most of my students, this time I received also a handmade thank you card made by one of the students and signed with nice words from them. It was a surprise and a great pleasure to me at that moment when I received the card with appreciation from everyone.

card1  card2

I am not the best teacher or that smartest person, even English is not my first language, but I do like my job, teach with passion, care about each student in my class, and in spite of that I feel confident about what I teach and how to teach to make everyone active, energetic and involved in the class, including the students who have basic and more advanced skills. Although I am not teaching rocket science and my students’ number don’t exceed 20 or 25 maximum, but I believe that “Whatever you teach, teaching is a talent”, and that’s a very crucial and important thing that employers who are responsible for hiring teachers or instructors should understand and consider. Having a professional and experienced instructor is not enough if that instructor cannot convey their message easily to all the students or make them understand what they teach even if the students are from different levels, background or experience.

As a student, I don’t care if I have a professional developer or programmer such as Bill Gates teaching me (just an example) if he/she can’t deliver or express what they know or choose the right materials for the course. That kind of person could be a very successful developer in one of the most advanced IT companies but a miserable instructor in any school at the same time, yes it’s true. Unprofessional instructor in any field can kill the passion of learning for learners, stop their progress, and reduce their achievements.

Through my experience of teaching, I also received constructive criticism from different students, these criticisms have helped me to improve my personal skills, learn to how to deliver my subjects, and understand how to choose the right curriculums, handouts or textbooks that make the time or the money the student spend really worthy. In my experience in Canada as a computer instructor, I have had some meetings with my managers to discuss some of the students’ feedback to overcome any obstacle standing between me and my students.

Anyway, life is a nonstop learning process and I like to learn from my mistakes as anyone does, building a good rapport with the students by understanding their needs individually, is not an easy task, but the word “Thanks, I learned a lot from your classes” gives me the motivation to keep going and move on with the same enthusiasm.

Post 15: XML Project (Toronto Open Data) and Quality Assurance (Qunit):

I don’t have a lot to say in this post, I am still thinking about finishing my features for each project PHP and ASP.NET. Now we had to make a new project for XML by choosing one of the open course articles that are available as open data (Toronto):
For more information visit open data Wikipedia  and Open Data – Toronto.

For the PHP project, as I mentioned before we need to provide both types of validation: front-end using JavaScript and back-end with PHP and that’s also what the instructor suggested. I gave my reason because the user can disable JavaScript in their browser and that will make our forms vulnerable to any type of input scripts that hack our website or destroy the Database.

In Quality Assurance class, we used JavaScript unit testing framework called QUnit and it was my first time to work on this tool with my team members to validate our forms input using regular expressions. visit quinitjs for more information.

We tried to test our input fields based on different criteria: For the first and last name fields, the input value has to letters only (a-z). For the email and postal code, the input values have to match the regular expression pattern.

Post 14: My learning process, career connections, and quality assurance assignment

The program is getting harder and harder and sometimes I feel bored, sad or too stressed, two years program is shrunk to become 10 months! I am not that satisfied with my achievements this semester especially my midterm compared with the first one, I do believe that this is not me and I can do better. Being a very systematic person with a long experience in teaching different subjects in IT, I can’t easily accept ideas, way of teaching, or curriculums that go beyond the logic or not following the required milestones in a normal sequence, this makes me different from my classmates and I think it is one of my weaknesses that makes me struggling in some subjects every now and then. Through my process of studying, I found myself learning from and using online resources more than the college courses in building and implementing my projects.

I am sorry as this is my first post to talk in this way, anyhow, positivity and determination are the keys to success. Although some of my classmates dropped the program this semester, I chose this path by myself and I have to complete it till the end. I am trying to focus on the present and ignore any negative ideas that might come to my mind. I like this nice Chinese proverb quote that my father told me:

“You cannot prevent the birds of sadness from passing over your head,

But you can prevent them from making nests in your hair.”

In career connection course, each student has to present one company that he likes to work with as a web developer. I was an active job seeker before joining this program and my LinkedIn profile is filled with many companies that I follow and want to work with. Every time I want to prepare my presentation I feel puzzled which one I should choose? Anyway, I just need to make my decision and choose one before the due date.

One of the most weird and interesting assignments that I’ve ever had was for the security and quality assurance course. We had to make limericks based on our subjects: Testing Strategies and Liability. Testing strategy is by making a plan which is formal document evaluating and assessing the results of the testing phases for our project (Web Application). Here is the limerick that I wrote about testing strategies:

Testing Strategies, you have to make

You should provide a real result not fake

Don’t ignore this test, it is a big mistake

You will throw all your efforts in the lake

Hence implement the test properly and be awake

Then, the client will greet you with a firm handshake

Please remember these notes for the goodness’ sake

So work hard on the test then take a nice break

Then I had to write another one for liability,

When clients ask you to add text they wrote

Be careful about what is legal and what is not

The content might be copied, yes it happens a lot

Check their content and examine each spot

Follow the copyright law as this subject is very hot

And protect yourself by wearing the security coat

Not all clients are equal in sort

So make your contract concise and short

Post13: XML, Quality Assurance

In XML class, subjects became more complicated but more useful and important at the same time, after finishing connecting XML with ASP.NET we had to work on XML with PHP this time. We run through many advanced topics in processing XML with PHP using:

• Simple API for XML (SAX)

• Document Object Model (DOM)

• Simple XML

If we need to parse each XML tag from top to bottom of the page, SAX method will be the best approach to apply and it’s faster than using DOM because it doesn’t use memory for storing Data. While using DOM approach, this will run slower than SAX and it will use the memory to save the DOM tree, but since the tree is saved we can access any node using DOM built-in methods.

Using PHP to create XML document was an important subject to discuss and work on in the class, this the technology that is used for RSS (Rich Site Summary); Uses a group of standard news feed formats to publish frequently updated information like news headlines, blog entries.

For the Quality Assurance class, we discussed many test plan that we need to apply in order to test the in and out of our web applications. I learned that there are many types of test to perform on my websites more than the regular or the standard ones:

• Configuration Testing: Software works with different hardware specifications as much as possible.

• Compatibility Testing: Software interacts with other programs or application smoothly and correctly without conflict.

• Foreign Language Testing: Website structure, layout and content has to be localized in the same areas even if the user changes the language.

• Usability Testing: Defining the usability in dealing with a particular interaction, how suitable, operative, or easy for a user to understand that function or piece of software.

That was just a nutshell about what we covered in QA class but still, this course is going deeper into more vital things that we need to consider in building our web applications.

Anyway, I am working on my ASP.NET feature for creating an image slideshow for the home page, and these images files names have to be stored in the database as it’s a database driven website. Using AJAX control in ASP.NET for achieving these tasks is different than using it with JavaScript and jQuery.

Post12: Database driven website risk

Last week was filled with midterm exams except for the PHP class when we had PHP Questions Contest, and it was a review about what we had covered in the class. The huge similarity between JavaScript and PHP makes the essential skills easy to master and implement. Moving into using Classes and Objects for communicating with the database makes PHP language stands out. As I mentioned before, using PDO to communicate with the database makes our web application cross platform that works with any type of database (SQL Server, Oracle, or MySQL).

In dealing with database driven websites, SQL Injection is considered one of the most dangerous risks that can threaten our data. For that reason, we need to look at this factor we receive the user input and try to insert it into a table.

Ex:

If we have a PHP variable called $name, this variable is in charge of getting the value from the full name input element in contact us form:

$name=$_GET[“FullName”];

User can write a SQL statement that affects tables in our database, for example, the value of FullName input field could be: drop table…

So we can avoid this problem by using PDO::prepare