An Opportunity to Design

As I mentioned in a blog post a few weeks ago, I have been given the privilege to create a course at the University that teaches Programming Design Patterns using Java. In Software Engineering, a Design Pattern is a general repeatable solution to a commonly occurring problem in software design. It is a description or template for how to solve a problem that can be used in many different situations. One of the first things I did in designing this course, was decide on the appropriate Course Structure. Design Patterns are categorised according to the groups below and the patterns listed are covered in the course.

  • Creations Patterns – These patterns are all about class instantiation.
    • Singleton
    • Factory
    • Abstract Factory
  • Structural Patterns – These patterns are all about Class and Object composition.
    • Model-View-Controller
    • Composite
    • Adapter
    • Bridge
    • Facade
    • Decorator
  • Behavioural Patterns – These patterns are all about objects communication among classes.
    • Observer
    • Strategy
    • Iterator
    • Interpreter
    • Chain of Responsibility
    • Command
    • Template
    • Mediator

Secondly, I acquired soft copies of reference texts for the students to be used throughout the course. So far, I’ve been using Design Patterns Explained Simply by http://sourcemaking.com/ as well as the Design Patterns in Java Tutorial from http://www.tutorialspoint.com/.

Thirdly, I focused on assessment preparation. I’ve completed Creational and Structural Design Patterns with the students at one campus and I should complete those Patterns with the students at another campus by next week. Finally, we would complete the Behavioural Design Patterns and prepare for the final exam. While I do wish I had more time to prepare all the material for the course, things are going great. For each pattern taught, I will give multiple examples in class for the students to grasp the practical side of it with the hope that they’ll read the notes from the books to solidify the concept with the theoretical side of things. This course has three assignments, one for each Design Pattern Category, a Mid-Term Exam as well as a Final Exam.

This morning, I submitted the final draft for the Final Exam and I hope it’s approved. There are some changes to be made to the Mid-Term Exam, which will be given in two weeks and the assignments for the Structural and Behavioural Design Patterns will be issued within this coming week. I hope the University is pleased with the work I’ve done and will be interested in delivering this course again at the Bachelor’s level next year. Since I’ve been back at the University part-time, I’ve seen opportunities to deliver more courses at the the Diploma and Bachelor level and I hope I’ll be given to opportunity to do so in the near future. Currently, the University teaches Android Mobile Application Development, so it would be indeed an honour to develop a course teaching iOS Mobile Application Development at the Bachelor level. Until then, I will make suggestions for the courses I would like to deliver, that I think would be of value to the students, with the hope of it being approved.

Advertisements

Microsoft M4: Re-imagining Your Business in a Digital World

IMG_3288-0.JPG

Yesterday I attended Microsoft’s first-ever local conference entitled M4: An Event by Microsoft– Re-imagining Your Business in a Digital World at the Hyatt Regency Trinidad. A major feature of the conference were the 14 speakers who discussed how businesses can be transformed to achieve increased productivity, the use of their data to analyze trends, which would lead to strategic marketing and increased sales as well as operating in a mobile world where employees can use various devices that are integrated for efficiency, all while ensuring the company’s sensitive data is safe and protected. The keynote address, Re-imagining Your Business, was delivered by Mariana Castro, General Manager, LATAM New Markets, who is responsible for the success of Microsoft’s business and partner relationships in this region. Now I’m an Apple girl, so I’m not necessarily buying into all Microsoft’s products but the features of the products and what can be accomplished from the use of them were what I was most interested in. Those benefits can be derived from other applications on other platforms.

Check out the Microsoft Surface 7ZR-00001 RT Tablet 64GB

Interview Issues

Today I scheduled an online interview for 4AM (Trinidad & Tobago time). The interview was first rescheduled by me due to an unbelievable headache from my new specs and last week it was again postponed as the company was moving to a new office and encountered some issues with the Internet. Today I’m not sure what happened but I’ll make contact with the company later today to find out what took place. These things happen and when they do I immediately try to see the positive. Firstly, it allowed me to leave home at 5AM today to get my morning workout at the gym before heading to the office, otherwise I would have probably left home at 5:15AM/5:30AM. Secondly, it gives me more time to prepare. I must admit that my schedule has been pretty crazy for the past couple of weeks with everything that’s going on and I welcome any additional time for reviewing Objective-C & Swift Concepts. While I’ll be busy this weekend with the Dragon Boat Regatta here in Trinidad, competing with my team “The Vikings” on Saturday and Sunday, I’ll focus on interview preparation from next week Monday.

Blog Frequency & Content

Today I spoke with a close friend of mine in Media in Trinidad who pointed out that posts made on a Friday are not viewed as much as those made at the beginning of the week. I’m trying to figure out the frequency of my posts and what content to post on what day. For now Monday to Friday is good for me. Out of those 5 days I would like to use one day to highlight a really great developer tutorial, another day for a recruiter post and the other 3 days about my life, my work and what I’m doing to secure an iOS Developer role in the UK. I’m new to this blogging platform but I already have so many ideas I would like to explore and so many ways I would like to use my blog to help others make their dreams become a reality.

Blocks and Grand Central Dispatch

Today I’d like to recommend a great tutorial from Derek Selander on Grand Central Dispatch on Ray Wenderlich @ http://www.raywenderlich.com/60749/grand-central-dispatch-in-depth-part-1. Derek is an iOS developer currently working in the mobile health sector. You can find Derek on Twitter or LinkedIn. This tutorial is a two part series and you’ll find the link to the second part of the tutorial on the page. Grand Central Dispatch (GCD) is the marketing name for libdispatch, Apple’s library that provides support for concurrent code execution on multicore hardware on iOS and OS X. GCD helps to improve the responsiveness of applications by deferring computationally expensive tasks to the background, it provides an easier concurrency model than locks and threads, helps to avoid concurrency bugs and potentially optimise your code with higher performance primitives for common design patterns such as singletons. For this tutorial on http://www.raywenderlich.com it is assumed that you would have basic knowledge of blocks. If however you don’t, you can check out the Video Tutorial for Blocks also on http://www.raywenderlich.com which is available for subscribers, Ry’s tutorial @ http://rypress.com/tutorials/objective-c/blocks.html as well as AppCoda’s tutorial @ http://www.appcoda.com/objective-c-blocks-tutorial/.

REST

Today I’ll be writing about REST, not Representational State Transfer but the form of regeneration that we humans need every night. I will admit, that I don’t get as much rest as the doctor would recommend but the way I look at life is that I can spend my time resting then look back regretting not accomplishing my goals or I can push myself while listening to my body and be contented with the efforts I made. So I get about 3 hours per night with about 2 half hour naps in the day, when things are really crazy which does not happen on a weekly basis, about 5 hours sleep per night when pushing it, 6 hours per night on a regular basis and about 7 hours a night at least once per week. Yes I know sleep is necessary and I’m working on it. There is so much I want to do with my life and some goals I can see just right before me that sometimes I sleep simply because I know I’ll eventually burn out, get the flu and shut down, which is even more down time from work than sleep. Last night some unexpected circumstances forced me to go to bed at 11:30PM without preparing for this morning. I woke up at 1:30AM to prepare for the day as well as a 4AM technical interview. This did not go well. My gut told me to postpone the interview as I knew my brain would not be as responsive as it should be for technical questions. I contacted the recruiter and he suggested I speak with the company representative. I am so thankful that the company was willing to postpone to next week. While I am trying to work miracles with my 24 hours and make so many of my dreams a reality, REST is extremely important, at least for 6 hours per night. I constantly read about getting the necessary 6-8 hours rest per night and I constantly tell myself once this is accomplished I’ll get 7 hours sleep per night, then it moves on to the next goal and the next goal…lol. I’m not sure if it’s normal for the things I’m passionate about to be pushing me to the point where I’m willing to sacrifice sleep and my health to accomplish them but it’s something I’ve realised is just a part of my character. There have been nights while working on an iOS app that I have to force myself to bed simply because I know I’ll be useless in the gym for my workout in the morning. I know I’m a bit addicted to my work but it’s an addiction I think I can live with :-).

My Morning Routine

Over the past few weeks I’ve been making some adjustments to my schedule, with me making even more changes this weekend. Before my wake up time could be anywhere between 4:00AM and 4:30AM but now it “MUST” be 4:00AM and on mornings when I schedule a 4:00AM interview, I need to be awake by 3:00AM. As I tell my colleagues and my students, I try to squeeze the life out of the 24 hours God gave to me. Once I’m up at 4:00AM, I can be driving out of my street by 4:25AM to head to the gym. I usually have a 30 minute commute to the City and the gym is a 5 minute drive from the office. I would get to the gym at 5:00AM and I would take the time to sit in my car and pray before heading to my workout. Every year my mother gives me a Daily Bread book filled with inspirational scriptures and topics for each day of the year. I would read the day’s topic and accompanying scripture reading as well as other scriptures in the Bible along with my personal prayers of gratitude to the Universe for all that I’ve been blessed with. This would usually take around 10 to 15 minutes. I actually have an alarm to stop me from praying as sometimes this time can just pass me by and I’ll be sitting in my car for quite some time lol. I would workout for about an hour and yes another alarm goes off to let me know it’s time to stop working out. This would be around 6:15AM. It takes me 30 minutes to get ready and leave the gym and yes my alarm also goes off at 6:45AM to remind me of this. I would get to the office around 6:55AM and start getting settled in for the day. On the days I woke up at 4:30AM, everything would have been pushed back by a half hour. With recruiter interest in my CV now building up and me getting those early morning calls, it’s a great incentive to be up pretty early. Also scheduling interviews at 4:00AM means there would not be too much disruption to my daily schedule.

I’m constantly reviewing my schedule to find time to juggle my 8-4 job, lecture 10 hours a week and prepare for those lectures, work on my mobile apps, learn new iOS features, make time for fitness and my dragon boating, make time for spiritual development, spend time with family and friends and most importantly…SLEEP. It’s a constant work in progress but it’s work I’m willing to put in.