|PHP Courses & Zend Certification|
Looking for something quality and offline
I'm looking for a place I can take some classes to improve my php programming skills. I've looked at the zend courses leading towards certification and they are great. Basically they take you from beginner through to advanced where you can expect to write the zend exam when you finish.
What I don't like is that I have to take the courses online. I'm looking for something similar where I can go and sit down in a classroom setting.
What this thread is not about
Please I really don't want to open a discussion here about the merits of taking a course or certification. I know for some people it doesn't make sense and there's good reason to learn on your own. What I'm interested in is now that I've made the decision to seek formal instruction, what are my options? Really I'm open to travel pretty much anywhere worldwide.
As an aside, I've been coding in php now for about 3 years. I'm self taught without any formal programming background. That said I can now easily hack out programs that are effective but certainly not efficient.
hmmm, not too many suggestions unfortunately.
Any technical colleges in your area? They may have something, not really sure. I have a bunch near me and they don't really offer much of value to a 3yr scripter. You end up with basic OOP or "Introduction to logic", hehe.
Maybe try looking at C/C++ courses. That's what I learned first and that laid out all the basics for me.
Try local PHP user groups, if there is one near you. They may have additional resources in your area.
Are there any particular areas that you think you need to focus on?
I'm self taught without any formal programming background.
I'm sort of a mix. I have some formal training - a couple years of a CS major in college, many years of doing other things altogether, then audited some stuff at the local college (actually reputed to be one of the best CS departments in the country - UC Berkeley - but I was of course not auditing the courses for doctoral candidates!). To a large degree, though, I am self-taught and have many of the weaknesses of most self-taught programmers.
Anyway, my take on it is that if you are going to look for formal training in programming you should *avoid* (absolutely avoid) courses that are geared to a specific language be it PHP, Java, C++ or anything.
Lately, I've been trying to dust off/upgrade my skills in C++ for a variety of reasons, but mostly because 1) I have a couple of projects that are more appropriate to C++ and 2) I think it teaches good discipline in a way that PHP just doesn't. That's a hassle when you just need to get something done, but there is something about have to type juggle and watch memory explicitly that makes you get a bit more organized about things!
The flip side is something like Scheme, which has an incredibly simple syntax and lets you focus on grand ideas instead of syntax and implementation. That's also good for bumping to the next level. It was the language of instruction for a course I sat in on at Berkeley. They assume that everyone there has several years of programming behind them or they wouldn't have gotten into the CS program in Berkeley in the first place, so they don't bother teaching C++ or Java. The courses that majors take focus on methods and approaches that are basically language-agnostic.
Okay, all of that to say this: you've been at it for three years. You probably know PHP pretty well, but you want a course of study that will hone your abstract programming reasoning skills. Once you've done that, applying it to PHP will be trivial and, when PHP is just an odd outdated language with a huge base of legacy code like FORTRAN or COBOL, you'll have great skills. I think in the long run, that will be PHP's fate. I doubt it will have the staying power of something like C/C++ but then, my stock portfolio is a testament to my inability to prognosticate.
I've recommended this a bunch before, but working with SICP was a great help to me:
The course I audited at Berkeley that used Scheme - basically the first required course for CS majors there - was based on this text because, as the professor said "It's the greatest computer science book ever written." Maybe or maybe not, but it's good.
I should add that I also tried to audit a course at the local community college and the level of the other students was just so basic that even though the course covered a new language, I just couldn't sit there. If you have a good university near by, I would go there.
That only addresses part of your desire, though, because of course auditing courses will not get you any certification. I don't really have any informed opinion on that.
>>Are there any particular areas that you think you need to focus on?<<
Very good question that I don't have a good answer for. I feel like my coding could be analogous to "applying bandages" to fix problems. Certainly part of this is that I didn't plan the project properly before starting to code but the flip side is that perhaps I was missing some of the prerequisites to do it properly.
Ergophobe, it sounds like your proficiency level is miles above mine. I should have thought where I was posting when I said 3 years of experience and *easy* coding. :)
My background was Psych in University, to some post grad Business, to dropping out and starting a company w/ a laptop as the only asset. From there it was learning enough PHP that I needed to add dynamics into my sites. That was about 3 years ago and since then the slapping on of PHP code has gotten more efficient to the point where I'm a poor but effective programmer.
At this point I do have a PHP programmer who handles all of the tougher coding. Most of what I do now is work on the planning phases and then understanding how the code is set up. What it's done has opened up my eyes a little to what I've missed and indeed there's a lot.
Anyways, it sounds like it might be worthwhile to look more into a programming logic course and less into PHP specifically? Ideally what I'd love is to find a course that's focused on web programming but with OOP, modular design, & larger site networks in mind.
Ergophobe, it sounds like your proficiency level is miles above mine.
I talk a good game, but it's all fluff I assure you.
Anyways, it sounds like it might be worthwhile to look more into a programming logic course and less into PHP specifically?
That's what I would do, but then your not me. I was reading something by Rasmus L the other day and he said that for large PHP projects he doesn't look for people who know PHP well, but for good programmers, because they've learned the hard part and can easily adapt that to programming in PHP.
One one thing I would say about your last comment. I'm guessing that a course that covers programming logic, style and approaches, web programming, OOP, modular design, & larger site networks, is likely to be superficial on at least most of those.
Where do you live, by the way? Do you have a decent university near by? Having spent a good portion of my life in and around universities as both a student and a teacher, I've generally found that an eager but non-paying student is welcome to sit in on most classes. As a teacher it's the sort of thing that can just make your semester. If you're behind the curve, though, you need to be respectful of the fact that you're not a registered student and can't be taking up too much of the prof's time.
Well, ergophobe has you on the right track but reading your post made me think of a few things
I'm not a programmer, I'm just a problem solver, I'd get bored crunching code all day, identifying and designing solutions for comlex problems is the fun stuff. Code, servers, whatever, though I am not a server fella, I work with an exceptional sysadmin that takes care of that. ;)
I started programming because someone said I would be good at it. Took one of those tech courses, so boring but got my feet wet. Got a job doing web design and coding. You know what used to confuse me? I used to wonder how they got the image embedded into the page like that, didn't know anything about browsers yet or web servers for that matter. That was the one thing that did my head in, no one ever explained it properly.
Got another job, my future boss asked if I knew php, I just give me a week and I will and the rest is history, I think it's been 5 years now or so.
Going for the logic/data structures/principles is all you need really, that's all I really have. Picture spoken languages, how to communicate you understand already, a new language just changes the syntax, doesn't change the basics of communication.
>> I talk a good game, but it's all fluff I assure you.
this is the "me too" part of my post
>> Having spent a good portion of my life in and around universities as both a student and a teacher
the only time I have been near a university is when I pick up my PHD sister from there, hehe. I'm not putting them down just demonstrating that you need to find what works for you.
I agree with ergophobe. When I first went to learn programming on my MSc course, the tutors said we would be using Pascal. As students we were all up in arms complaining that we wanted to learn Java, because it was so trendy then. We really complained to the University but they stood firm and said it was programming principles that are important, not the language, and Pascal was quite good for learning this. Anyway, by the end of the course I found out they were right.
It's all about thinking in terms of functions and procedures, or about OO structure. Not about a specific language. I don't see any problem learning this with PHP except that there is this distraction of interfacing with HTML. That makes it a bit harder to focus on the basic program itself.
Maybe try to take a module or 2 from a University course?
My advice is to seek out a good teacher. Look for someone with dedication, who is willing to spend some time with you outside class and learn what you're looking for. A good teacher can make all of the difference.
CS attracts many teachers, whose teaching skills are lacking, and their technical skills do not make up for that. Ask people who've studied under a teacher before signing up for a class, and find out what they think and why.
Try to meet with a teacher that sounds good before you sign up for the class, and conduct a little interview. If the person is too busy or unwilling, then that should tell you something.
Ergo, here's the description from a couple of courses locally (Edmonton Alberta Canada).
Intro to Computer Science
An introduction to solving Computing Science problems by writing computer programs in a high-level programming language called Java. Students are introduced to objects and values, messages and methods, control structures, and simple containers. Discussion of elementary algorithms and software engineering techniques for constructing elegant and robust solutions to problems. Prerequisites: Pure Math 30 and Computing Science 30 or equivalent. See Notes (2) and (3) above.
A study of dynamic data structures (e.g., sets, lists, stacks, queues, dictionaries) and their associated algorithms (e.g., traversal, sorting, searching, element addition and removal) using Java. An introduction to recursive references and algorithms and to more advanced programming language techniques including inheritance and exceptions. Prerequisite: CMPUT 102 or CMPUT 114 or ENCMP 100. See Notes (2) and (3) above.
Online PHP Zend Certification
I haven't found any offline courses for PHP yet (most are "learn php in 5 days!") or hourly sessions. If it's ok, here is a link [phparch.com] to the online zend certification curriculum. (It's long so I didn't want to post it here). A lot of this stuff looks foreign to me which is a good thing. They also offer an "essentials" course which seems to be more geared towards beginners.
Jatar, once again you're right. Really I'm in a similar boat as I've got people who work for me who are much more talented than I am in their areas (sys admin, programmer, graphic artists, writer). Er.. not to say that you're not as talented.. but I think you know what I mean. :P That said, in all of these areas I can say I'm "conversational" where I know enough to direct and work on some stuff myself. For instance I normally splice the photoshop templates & handle the CSS, I'll write the PHP that pulls together modules, and *nix stuff I'm content to know that I don't know and pass what I want done to my sys admin :P.
Where I'm going with this is that I feel weakest in programming and would like to do something about it. The suggestions in this thread have been great and I'm now leaning towards finding a good logic/data structures/principles course (probably followed by the PHP Cert course by zend).
I don't need to do this locally (in fact I'd prefer not to), do you have any suggestions on good courses? Right now seems to be a good time as the universities are offering summer courses. (my company's main asset is still a laptop so it can come with me).
well, if you want to do it elsewhere and want to do Canada, cities I would look at are
Vancouver, Toronto, Montreal, Halifax (no, seriously)
these would be the best cities for tech so universities/colleges will have more options in these places.
and hey, maybe UBC/BCIT or some other in vancouver offers what you are looking for, that's where I am, we could go for a drink and talk about how untalented I really am.
>> but I think you know what I mean
<added>I had a meeting with Zend yesterday and this thread made me ask them about their certfication, they said for some companies they require the certification for their programmers.
supposedly no one has gotten 100% yet
Christopher_C. Do you realize that you have scaled the heights of folly in that last post. Unless I misread you, you actually addressed me directly for career advice. That must violate the forum charter somewhere.
the only time I have been near a university ... you need to find what works for you.
I agree with jatar_k there as well - whatever works for you in terms of what and where. Since Chris was looking for courses, though, universities seem like a good bet because they tend to be
- cheaper (though not always cheap)
- free sometimes if you just want to swing by and not get credit (in large lectures, nobody would even know).
- have more of a "principles" orientation than a "flavor of the day" orientation
But like someone said earlier, it's all about finding a good teacher.
Well I dont know if it's murphy's law or bad karma but my programmer just zapped an entire block of products right out of our global cart. For every widget, on every widget category, on every site running this cart we're now displaying the message "Sorry we don't have any widgets for sale" (when we have thousands, our SOAP synch is off and boolean is setting to 0 (unavailable) instead of 1).
To top it off, my programmer is MIA & probably eating dinner or out as he's in the UK right now.
Now with my l33t programming skills I found which function is acting up but I'm not sure how to fix it. Result being I'm throwing $aaa.aa into the trash if it's down until tomorrow.
|Do you realize that you have scaled the heights of folly in that last post. |
Your self modesty is getting to be a bit much ;-) Anybody who's seen the thousands of helpful posts you and jatar_k have made can't be fooled.
haha ergo :P ok ok.
|I had a meeting with Zend yesterday and...supposedly no one has gotten 100% yet |
Cool, well that'll change once I write the exam.
|we could go for a drink and talk about how untalented I really am. |
sounds good :)
I'll do some searching this weekend and post which courses I find. Anywhere in NA or Europe is fine if someone has taken a course, found a good teacher, and/or has some suggestions.
Your self modesty is getting to be a bit much
Sorry. There are some things I'm very good at and some areas where I'm very knowledgeable. If you get me on those topics, you might find me to be a bit of a braggart perhaps. But if we ever get a chance to meet, you will realize that *nobody* should take career advice or financial advice from me and that is *not* false modesty; that's fair warning.