How do you grow a developer base? One mind at a time.
Category: Clark College
Clark College Web Development (AAT) Degree
Here is information on the Web Development AAT degree from the Clark College Course Catalog. Many of you have written asking about this program and what it entails. Well, here you go:
The Web Development AAT degree provides students with a foundational and employable skill set in web programming and development technologies as well experience and skills in web design and media associated with the World Wide Web. Essential skills are developed through practical hands-on experience, real client project work, a focus on professional skills and building a portfolio of work.
Interview with Bruce Elgort: WordPress for Networking
The following is an interview with Bruce Elgort, a teacher here at Clark College He teaches PHP and other web programming classes in the Computer Technology Department. I chose to interview Bruce because I wanted his perspective as a user of WordPress for networking. I chose my questions to fit under the theme of “How is WordPress useful?” This is a question that many people who don’t plan to use WordPress specifically for business might have, so I thought it was an important topic to cover.
Bruce Elgort (@belgort) served as the Chairman of OpenNTF, the preeminent open source community for the IBM Collaboration Solutions development platform from 2001-2013. He is also the co-creator of IdeaJam, the award winning idea management software from Elguji Software, where he serves as President and Chief Executive Officer. You can hear Bruce regularly as the co-host of the Taking Notes podcast.
Additionally…
View original post 455 more words
Interested in taking your PHP/SQL to the next level?
During the Spring Quarter at Clark College, I will be teaching “PHP with SQL II”. This class is a continuation of “PHP with SQL I” . Several people from the Clark County community have asked me if this course can be taken for those wanting to improve their PHP and MySQL chops. My answer is a resounding – YES! I would love to see you in this class. Now, there are only a few seats left and I would suggest signing up sooner rather than later.
In order to be successful in the class you will need to have a firm grasp on HTML/CSS/PHP and MySQL. Interested? Contact me using the info to the right of this post.
I look forward to hearing from you.
Priceless Feedback
Don’t Distract New Programmers with OOP
Thomas Gumz sent me a link to a blog entry entitled “Don’t Distract New Programmers with OOP“. Having just wrapped up one year of teaching “Intro to Programming and Problem Solving” to students at Clark College, I could not agree more. One of the core outcomes of my class is centered around functional decomposition – how to break down a problem into smaller, simpler parts.
When I get asked “What’s a good first programming language to teach my [son / daughter / other-person-with-no-programming-experience]?” my answer has been the same for the last 5+ years: Python.
I get this same question almost on a daily basis from so many people. Admittedly, before I started teaching the class I questioned the use of Python for new programmers. Well, guess what? It’s the perfect language and I have the results to prove it.
Did we cover object oriented programming in the class – yes, but not to the level that most would expect. We did just enough for students to wrap their heads around the concept. In fact, one student tried to use OOP for their final project and had a heck of a time. In fact this student was pushing for more OOP content and after the class concluded they admitted that OOP was much harder then they expected it to be.
The shift from procedural to OO brings with it a shift from thinking about problems and solutions to thinking about architecture. That’s easy to see just by comparing a procedural Python program with an object-oriented one. The latter is almost always longer, full of extra interface and indentation and annotations. The temptation is to start moving trivial bits of code into classes and adding all these little methods and anticipating methods that aren’t needed yet but might be someday.
Be sure and read the blog entry as I think that you will agree with avoiding OOP in an introductory programming class. If you are interested in learning more about pursuing a programming career drop me an email as I would love to help.
You can read what others are saying about this article on Yacker News.
Learning How to Code with Bruce: The Results
For the past year, I have been teaching a course at Clark College in Vancouver, Washington called “Intro to Programming and Problem Solving (CTEC 121)”. During this time 60 students have successfully completed the course. Here is the class description from the course catalog:
Fundamental concepts related to designing and writing computer programs and procedures. Topics covered include: problem-solving techniques, program design, coding, debugging, testing and documentation. The course stresses concepts common to all programming. Prerequisite: Eligibility for ENGL& 101 and a grade of “C” or better in MATH 095. CTEC 120 recommended.
Typically, 95% of the students who take this class have had no prior experience with programming. In fact, it may even be higher than this.
RECAP: Students in CTEC 121 have never ever written a single line of code.
One other important to thing to mention is that 80% of the students who enroll in this class are not enrolled in a development focussed degree program. Most are from networking, business and other disciplines. Fascinating eh? Read on…
For the Fall quarter I decided to not give a final exam but rather a final practical project. Students were required to build a full-fledged application using the Python programing language. The project requirements included:
- Demonstrate use of all elements of the structure theorem (sequence, selection and repitition)
- Use on or more Python libraries
- Demonstrate the ability to read/write files
- and many other requirements…
On Monday the class presented their projects to the class and frankly, the students and I were totally blown away by their projects. Remember, these students have only studied programming in the CTEC 121 class for 9 weeks prior to creating their final projects. I wish you all could have seen the students faces when they saw demonstrations presented by the others.
To give you an idea of the types of projects submitted here is a list of some of the apps students created:
- An app that helps racing pit crews with calculating critical data needed for fueling, tire replacements and more
- An app that uses the Wikipedia API to read and display random Wikipedia entries using JSON and REST services.
- A math quiz app
- A complete graphical version of the game Battleship
- Several role playing games both text and based and graphics based
- The game Othello done with the graphics.py Python library
- A flash card creation and presentation app
- Several awesome versions of Tic-Tac-Toe
- An image processing app just like Instagram (complete with an MSI installer)
- and many others
Congratulations to all of the CTEC 121 students on creating such awesome final projects. You made this instructor very proud.
Ars Technica: What’s the difference between college-level and corporate programming?
This article strikes home as I am now completing my first year as a college instructor who teaches computer programming:
When they graduate and get their first job, a lot of students feel like they don’t really know how to program even though they may have been good programmers in college.
What are some of the differences between programming in an academic setting and programming in the ‘real world’?
…
In a traditional undergraduate computer science program you learn just programming. But the real world doesn’t want people who are just programmers. The real world wants real software engineers. I know many job descriptions don’t seem to express this distinction, which only confuses the matter.
Part 1: What has Bruce been up to?
The last year has been a total absolute blur. Between teaching at Clark Collge, working on projects at Elguji, volunteer work and more has consumed every available minute of my time. I have also been quiet on a few fronts on purpose. Let me first start with Elguji.
Elguji Software
Elguji has been very fortunate to have a loyal (and still growing) Notes and Domino customer base. While sales of our flagship IdeaJam for Domino have slowed down a bit, we are still serving dozens of customers around the globe. In fact, we are hard at work (and have been for some time) on IdeaJam 2.0. IdeaJam 2.0 is not simply an upgrade to IdeaJam 1.9.2 but, a complete re-write of the core application made to be “mobile first”. Yes, it will still be a great web application that will blow your mind and we are very excited at the progress we have made. For now just know that we have done our best to include the feedback we have received from our customers. Stay tuned for more on IdeaJam 2.0.
Where Elguji has really transformed and rolled with the times is with our “event-based” IdeaJam cloud platform. We are now providing customers around the globe with what we call “event-based” jams. These jams can be provisioned in 60 seconds or less. Jams run anywhere from 1 day to 3 months. It’s whatever the customer needs. Some of you may have seen that we are running jams for IBM Rational, IBM Websphere and IBM developerWorks. In fact, we just completed a project directed by IBM CEO Ginni Rometty. Our customer work also includes colleges and universities, branches of the US Government and many other global institutions. We couldn’t have done with without the professionals at The London Developer Co-Op.
You might ask “who is driving all of this business to Elguji?”. Let me tell you that there are two primary product evangelists for Elguji 1) IBM and 2) Existing customers. IBM is constantly referring customers to us, primarily for our event-based jams. One of the worlds largest financial institutions who will go unnamed has also sent us plenty of new customers. We are very fortunate to have such great relationships with IBM and our customers.
Elguji is also cooking up a brand new product that frankly, I’m super psyched about. It’s 1,000 times bigger than IdeaJam and I am lucky to be working with some of the brightest people in the world on it.
OpenNTF
In October I departed the world of OpenNTF and not longer after that the community which I was part of for over a dozen years gave me the most wonderful send-off I have ever seen. Dozens of blog posts, tweets and more – all with the #thanksbruce hash tag. I wanted to thank everybody sooner but as usual, life got in the way. Thank you to all my friends and colleagues for their heartfelt love on Wednesday, November 2, 2013. I owe much of my success in this world to many of you.
I am now wrapping up the development of a new website for OpenNTF with Niklas Heidloff, Per Henrik Lausten and Martin Rolph (Oval Systems). A new website was long overdue for OpenNTF and I felt compelled to see the project through it’s fruition. It will be a few more weeks before you see the new site. We are now in the user acceptance testing phase.
Once the website launches, I will remain an Honorary Board Member and continue to help support the efforts of the open source community. I do however wish that the IBM Connections team would embrace OpenNTF more than they have. It’s important for the overall IBM Collaboration Solutions app dev community more than ever. </getting off my soap box>
Part 2 coming on Monday.
Box Model Demonstration Video
NOTE: It appears that the video quality isn’t quite where it needs to be. I will post an updated one when I resolve the resolution issue.
Here is a video I put together which demonstrates some basic “box model” concepts for the beginner web developer:

