maiden speech - algorithms

21 views
Skip to first unread message

Todd Sedano

unread,
Mar 22, 2012, 7:16:10 PM3/22/12
to software_cr...@googlegroups.com
Short version: what would you tell someone who was trying to improve at ______ ?  (see last sentence of email)

This last fall at SCNA in Chicago, I presented findings from my class "The Craft of Software Development" where each master student studying software engineering created a learning plan designed to work on an area of known weakness to further themselves in our craft. I appreciated the community's feedback about my class. (If you don't remember me, we also did some dancing at the start of my session. You were magnificant.) 

This year, I'm asking for your input on my students' learning plans. If you have personal experience in one of these learning areas (or have guided an apprentice), I'd love to get your input. 

What is something that has worked for you to become more of an expert in the named area? 

(I've debated how to present this request to this group. There are eight topics. Perhaps it is better to have one email with everyone replying to it. Perhaps it is better to have eight email threads where people who only care about TDD can just offer advice on how to get better at TDD. Because there hasn't been a lot of traffic on this mailing list recently, I've decided to post four emails today and four emails tomorrow. If this was a colossal lack of judgement on my part, please mute any thread that you aren't interested in. And I'm sorry.) 

I really appreciate your time and input, 

Todd Sedano
Director of Software Engineering
Carnegie Mellon University
Silicon Valley Campus
Developing Software Leaders (TM)
T: 650-335-2812


For me software craftsmanship includes knowing how to use powerful problem solving techniques. I don't have a background in computer science, so I never studied algorithms. I want to get better in this area; what does the community think will help me improve?

Doug Bradbury

unread,
Mar 23, 2012, 7:42:19 PM3/23/12
to software_cr...@googlegroups.com
To get better at algorithms, I think you need an interesting problem to solve that will require you to discover a particular algorithm.

We use an unbeatable Tic Tac Toe game as an exercise in our apprenticeship program to force apprentices to discover the mini max algorithm.

Project Euler has some interesting problems that drive algorithm learning.

A good reference is also needed.  Wikipedia usually has pretty good articles on various algorithms.

Doug 

--
You received this message because you are subscribed to the Google Groups "software_craftsmanship" group.
To post to this group, send email to software_cr...@googlegroups.com.
To unsubscribe from this group, send email to software_craftsma...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/software_craftsmanship?hl=en.

Curtis Cooley

unread,
Mar 24, 2012, 12:21:43 PM3/24/12
to software_cr...@googlegroups.com
On Fri, Mar 23, 2012 at 4:42 PM, Doug Bradbury <bradbu...@gmail.com> wrote:
> To get better at algorithms, I think you need an interesting problem to
> solve that will require you to discover a particular algorithm.
>
> We use an unbeatable Tic Tac Toe game as an exercise in our apprenticeship
> program to force apprentices to discover the mini max algorithm.
>
> Project Euler has some interesting problems that drive algorithm learning.
>
> A good reference is also needed.  Wikipedia usually has pretty good articles
> on various algorithms.
>
> Doug
>
The Coding Dojo Kata Catalogue has some algorithmic katas to learn and
practice. The one that is missing is Towers of Hanoi. That one takes
some thinking because once you have the algorithm, the code is clean
and simple (but recursive).

http://codingdojo.org/cgi-bin/wiki.pl?KataCatalogue

--
Curtis Cooley
curtis...@gmail.com
blog:http://ponderingobjectorienteddesign.blogspot.com
===============
Leadership is a potent combination of strategy and character. But if
you must be without one, be without the strategy.
-- H. Norman Schwarzkopf

Doug Bradbury

unread,
Mar 25, 2012, 10:21:41 PM3/25/12
to software_cr...@googlegroups.com
Yes! The towers of Hanoi.  The was one of the very first algorithm problems I was exposed to in a high school programming class.  Prefect for learning recursion!

Doug

Reply all
Reply to author
Forward
0 new messages