Unit 3/Ch.15: Programming II
Internet Research, 2

List some Web sites that offer free tutorials in Java programming.

This is getting too easy…


And here we are, my last post of COMP200, the tears almost want to flow…almost.  Don’t fret my dear friends, I intend on continuing to submit more tokens of wisdom as my educational pursuits in the computer sciences expand…hilarity will ensue.

So, this should be quick and relatively painless.  Provided below are a few sites that offer free tutorials in Java programming (and no, this isn’t a list of “how to program your coffee machine” tutorials). Enjoy mon amis!

1. The mother of all things simple! Decent search engine to help answer those nagging questions about Java.

2. the host of Java news and articles.

3. The Java community website hosted by Oracle.

4. Java news and articles in IBM’s Developerworks.

5. Well-known Java website (it seemed to show up on every bloody search engine!), you just can’t miss this one.

6. Java news and articles in.

7. Java community to discuss the server side development.

8. Friendly and popular Java forum.

9. Well-known generic programming Q & A site organized by tags with Java topics included.

10. Java articles and Q&A style forum.

11. The Official Java tutorials from Oracle.

12. Blogs aggregator for many active Java-based blogs.

13.  Java frameworks collection site. Well organized.

14. The heart of the Java developer community.

15. Search engine for Java API documentation.

16. Many Java programming tutorials and source code example, well organized by categories.

17. Many quick and Java source code example.

18. Collection of Java tutorials, cover wide range of Java topics.

19. O’Reilly Java contains latest Java technology news, quality code snippets, full example and detail explanation.

20. The official Java developer website, always get the latest Java related news here.



Writer: tapache



Unit 3/Ch.14: Programming I
Discussion Topics, 1

What are the advantages and disadvantages of OOP languages?

“If you give someone a program,

you frustrate them for a day.

But if you teach someone to program,

you frustrate them for a lifetime.”

(Anonymous Nerd)

OOPs!…..I did it again…I made a bad joke…I guess I’m not that innocent!  That will make sense by the end of this blog 😉

Click here for something super duper cool!

Object Oriented Programming (OOP) is a style of programming in which objects are more than just a thing.  These objects, aside from being things, have characteristics, response mechanisms, and responsive qualities.[i]  Of the several OOP languages that are at a programmer’s disposal, the most popular ones include: C++, C#, Java, & Python.

As with most anything, there come the pros and cons, and OOP is not exempt to this.  According to[ii] the advantages/disadvantages are:

1)  Improved software-development productivity:

Three aspects of OOP are that it is modular (provides a separation of duties); is extensible (objects can be extended to include new attributes and behaviors); is reusable (objects can also be reused within and across applications). What does this mean? OOP provides improved software-development productivity versus that of traditional procedure-based programming techniques.

2)  Improved software maintainability:

Due to its modular aspect, OOP can be updated part-by-part as issues dictate without having to revamp it wholly.

3)  Faster development:

As it is reusable, OOP enables faster development.  In addition to this feature, OOP is stacked with “rich libraries of objects,”  as well it quickly reuses code that is user developed.

4)  Lower development costs:

Also attributed to its reusability is its proportionality of cost of development.

5)  Higher quality software:

Greater speed of software development met with the lower cost of development equates to an even greater window of time/resource management to be dedicated to software verification.

Now to rain on the parade…..

1)  Steep learning curve:

With an unorthodox thought process OOP does not always come naturally to new users.

2)  Larger program size:

OOP involves more lines of code than procedural programs.

3)  Slower programs:

In conjunction with its larger program size, OOP tends to run slower.

4)  Not suitable for all types of problems:

The application of OOP to other programming styles (functional, logic, or procedure) generally results in inefficient programs.

Writer: tapache



[i] Greg Anderson, David Ferro, and Robert Hilton, Connecting with Computer Science [Boston: Course Technology, Cengage Learning, 2011], 495.


Unit 3, Ch.13: Software Engineering
Internet Research #4

Find three Web sites with material on teaching software engineering skills, and summarize the material on these sites.

Q: What do software engineers use for birth control?


A: Their personalities.

Now before beginning, I think we need some appropriate music to pump us up for the following read.  I say let’s go with some good ol’ classic rock! Click here for a classic little ditty from southern rockers .38 Special.  Enjoy!

Software engineering can be defined as “the process of producing software applications.[i]” Software engineers should be primarily concerned with the end product, that is what the users’ needs are.

With the demand for IT professionals (including software engineering specialists) steadily growing with the evolution of computing related technology, several websites have appeared in recent years that teach those with the aptitude the skills required to design, write, and produce software packages and applications.

To apply the KISS rule from my previous post, I’ve chosen to present Web sites that focus their curriculum on Microsoft (I spit) platforms.  Why? Well, my inquisitive friend, they are all Microsoft sites that teach various aspects of design and development with each site building upon the latter.

The first site is MCSD Web Applications Certification. If your objective is to work as either a web developer or web administrator then this is a great place to begin that journey.

Earning an MCSD Web Applications Certification will qualify you for a position as a web developer or web administrator. In order to achieve this certification you must write the following three exams:

1)    Programming in HTML5 with JavaScript and CSS3

2)    Developing ASP.NET MVC 4 Web Applications

3)    Developing Windows Azure and Web Services

Once successfully completed, you may be granted MCSD certification, which requires you “to show continued ability to perform in your chosen solution area by completing a recertification exam every two years.[ii]

With MCSD Web Applications Certification under your belt, you can advance as a software engineer by tackling more Microsoft courses in an effort to achieve the dubious distinction of being called a Microsoft Certified Solutions Developer (MCSD) in Windows Store Apps, which is better than a kick in the pants!

Earning an MCSD Windows Store Apps Certification will qualify you for such jobs as software developer, web developer, and quality engineer.

One of the attractive features of this course is that there are two options in proceeding, eithier by HTML5 or C#.  I know, I couldn’t believe it either! The reasoning is simple, the HTML5 path is for those who have familiarity in programming with JavaScript or are starting from ground zero on  a new website.  C# is recommended for those .NET developers who wish to create apps for Windows 8[iii].

Like most courses there are exams, the following need to be successfully passed to gain certification:

Using HTML5:

1)             Programming in HTML5 with JavaScript and CSS3

2)             Essentials of Developing Windows Store Apps Using HTML5 and JavaScript

3)             Advanced Windows Store App Development Using HTML5 and JavaScript

Using C#:

1)             Programming in C#

2)             Essentials of Developing Windows Store Apps Using C#

3)             Advanced Windows Store App Development Using C#

The third, and final, site is one that teaches the user how to build apps for Windows, Windows Store, Windows Phone, and whole bunch of other Windows based mediums. It includes the C# and Visual Basic programming languages as well as the common language runtime and an extensive class library[iv].  Here you will be able to download tools and SDKs along with obtain tutorials and support in your pursuits as a .NET developer.

Writer: tapache




Unit 3/Ch.12: Problem Solving and Debugging
Discussion Topics, 1

With good software design, do you think bugs can be eliminated? Why or why not?


…yeah! Let’s get some!

Much like the common cold, the clap, and the verbal diarrhea of one great blogger, bugs will never be completely eliminated, however they can be somewhat controlled to an acceptable limit.  The key to minimizing bugs is through the practice of ethically sound software design principles, by ethically sound, I am referring to the Thirteen I’s of debugging.[i]

Like any business and/or design practice, not just relative to the computing world, developers need to follow basic guidelines for success.  However, as businesses evolve and grow larger, there can arise the accepted (yet unethical) necessity to cut corners to keep up with demand and/or competition.  With respect to the latter, computer programmers can easily turn out a bug infested product if they stray from ethical practices.  By adopting and applying the Thirteen I’s (listed below), which eliminates cutting corners in the design process at the very least, only then can the minimization of bugs occur.

The Thirteen I’s:

1)             I will own the problem.

2)             I will remain calm and remember the mental game of debugging.

3)             I will use the scientific method and problem-solving approaches.

4)             I will read the manual.

5)             I will make it fail.

6)             I will look before I assume.

7)             I will divide and conquer the problem.

8)             I will isolate changes.

9)             I will write down what I do.

10)         I will check the fuel level.

11)         I will get another perspective.

12)         I will check that the problem is fixed.

13)         I will ask three questions…

i)               Is this mistake occurring anywhere else?

ii)             What next bug is hidden behind this one?

iii)            What should I do to prevent similar bugs?

Writer: tapache


[i] Greg Anderson, David Ferro, and Robert Hilton, Connecting with Computer Science [Boston: Course Technology, Cengage Learning, 2011], 413-423.


TME 3 Unit 3/Ch.11: The Human-Computer Interface
Internet Research, Question 4

Numerous Web resources on designing good user interfaces are available. Find three, and compare their approaches to addressing human memory capabilities with the approaches discussed in this chapter.

Nothing…I’ve got nothing

(No, really! I have absolutely nothing to contribute that is humorous in direct relation to this subject.  Sorry.)


There are several approaches or methods to designing a good user interface.  When doing so, consideration should be given not just to how the user will cope but why the user will be successful in using a particular interface, thus in doing so, the human psyche should also be considered.  A good designer understands the need to manipulate the user’s sensory system.  “Chunking groups bits of information, essentially tricking short-term memory into remembering fewer items,”[i] is one such common approach.  At the end of the day, designers should apply the KISS rule: Keep It Simple Stupid, to have their product appeal to a broader audience.

Fancy, shmancy ramblings of the philosophies of duping the consumer aside, the following provides a brief description of three companies and their individual approaches to interface design.

1)                        Smashing Magazine[ii]: The approach that Dmitry Fadeyev illustrates in his January 2009 article for Smashing is explained as one in which during the user’s experience, said user is easily able to “consume” the information as products (apps in the context of the article) “must offer simple, intuitive and responsive user interfaces that let their users get things done with less effort and time.”

2)                        Treehouse[iii]: This company states that “It’s no great mystery that truly great user interfaces are the ones that are engineered to stay out of the way.” Their belief that familiar user interface patterns will help people feel at home, which can be considered providing “prompts” is logically sound, in my opinion, as it makes use of long-term memory abilities.

3)                        Nielson Norman Group[iv]: NNG clearly state “People remember much more after reading if they retrieve information about the text from memory. Quizzes are one way websites can help users remember more.”  This philosophy definitively points out the benefits of test-taking in order to enhance retention since it provides people with the opportunity to revisit what they’ve read.

Writer: tapache


[i] Greg Anderson, David Ferro, and Robert Hilton, Connecting with Computer Science [Boston: Course Technology, Cengage Learning, 2011], 384.


Unit 2/Ch.10: File Structures
Internet Research, Question 4

How do you convert a FAT drive to an NTFS drive?

Let the FAT jokes begin…


…not that kind of fat!!!

WARNING:  In case my play on words or my less-than-politically-correct pic is not enough, I may lace this post with a few nerdy FAT jokes.

Yo mama so FAT, NTFS won’t even give her permission!

If you have a FAT or FAT32 file system that you’d like to change to NTFS (New Technology File System) just follow the following steps (for a Windows based system)[i]:

1) Head on over to you computer

2) Click on Start

3) If you are using Windows 7,8, or Vista, type cmd in the search bar; for XP users, click “Run” and execute cmd

 Yo momma so fat you gotta address her in 128 bit!

4) Execute chkdsk k:/f (“k” is the name of the fictitious drive that we are pretending to convert…if you want to convert a q drive or any other letter that makes sense, please, by all means, feel free)

5) Execute Convert K: /FS:NTFS

6) After a bit of wait (long enough to hit the head and relieve yourself), CMD will indicate a successful conversion

Yo mama so fat pkzip can’t compress her!

Why would anyone want to convert a FAT (or FAT32) to NTFS?

A FAT32 file system, for example, does not support files that are larger than 4GB, this is just one reason why.  Another reason is that NTFS offers more security and stability.  For the computer snobs in the crowd, and we all know one or two, they would switch over to NTFS because FAT might be outdated for them or they are trying to back up specific pieces of information.[ii]

One more for the road…

Yo mama so dumb, when you told her your laptop was from Apple, she bit right into it and thought the keys was seeds!

Writer: tapache


[i] Ferguson, Chris. Interview with tapache. Phone interview. Calgary, June 1, 2013.

[ii] Notenboom, Leo A.  “Should I Convert My FAT32 Drives to NTFS?” (accessed June 1, 2013).


Unit 2/Ch.9: Operating Systems
Internet Research, Question 5

Who created Linux, and for what purpose was it created?

linux commie

Everyone likes free stuff, right?  Well so did Linus Torvalds, a university student in Helsinki, Finland.  In 1991, Torvalds created and subsequently released an operating system, which he called Linux.  Linux was available for free on the internet as an alternative to the much too expensive UNIX operating system.[i]  To say that Linux was popular from its early onset would be an understatement.  For a super-cool link to everything about Linux, click here!

Linux is based on Andrew Tanenbaum’s Minix, an inexpensive clone of UNIX, which was primarily used as an educational tool for students of computer programming.[ii]  For a hockey sock full of information on Minix, click here!

But back to “free stuff.”  In 1980, Richard Stallman initiated a concept known as open-source software.  Stallman, through his GNU Project, started the freedom movement in the world of computing.[iii] This freedom movement, more specifically open-source software, was the ultimate drawing card for Linux.  For everything that you thought you G’Knew or would like to G’Know about GNU, click here!

Writer: tapache


[i] Admin. “What is Linux?” (accessed May 28, 2013).

[ii] “More About Minix3.” (accessed May 28, 2013).

[iii] “What is GNU?” (accessed May 30, 2013).