CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Karl Seguin

.NET From Ottawa, Ontario

Foundations of Programming Ebook

I'm excited to finally release the official, and completely free, Foundations of Programming EBook. This essentially contains all 9 Foundation parts including a conclusion and some typical book fluff (table of content, acknowledgement and so on). A number of spelling errors were corrected, along with some small technical changes and clarifications - largely based on feedback, so thanks for everyone who provided it! Otherwise it's exactly the same as what's been posted here over the past several months.

Download it from http://codebetter.com/files/folders/codebetter_downloads/entry179694.aspx

Download the Learning Application from: http://codebetter.com/blogs/karlseguin/archive/2008/07/18/foundations-of-programming-learning-application.aspx

 Foundations Of Programming 

If the above link fails, you can also get it from http://www.openmymind.net/FoundationsOfProgramming.pdf


Published Jun 24 2008, 09:53 PM by karl
Filed under:

Comments

Rob said:

You rock!

# June 25, 2008 12:33 AM

Bryan Reynolds said:

Very cool!  Thanks!

# June 25, 2008 12:57 AM

DotNetKicks.com said:

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# June 25, 2008 1:18 AM

Shadi Marei said:

Excellent idea Karl.

# June 25, 2008 1:36 AM

Grant Palin said:

Excellent - yay for free ebooks!

# June 25, 2008 1:37 AM

David Tchepak said:

Thanks for this Karl. It is a great read. You've done a terrific job.

# June 25, 2008 1:44 AM

Stephen Smith said:

Just an expression of thanks for all the educational and inspirational blogs from all the bloggers I find at codebetter.com. (Jeremy Miller should be blogging at a sustainable pace! Not prolifically.)

I would attribute half of my effectiveness as a developer to the power of the practices I use so I am always looking to discover more powerful practices and to evangelise them with in my own work environments. I love what I do, I love doing lots of it and each time I do it I love doing it better, smarter based on what I have learnt from doing, from working with others and from my own continuing professional development activities such as the codebetter site and the Alt.NET and Agile/XP community. The ALTernative to writing testable code is writing DEtestable code.

I would attribute the other half of my effectiveness to my ability to contribute to a team. It is a team that delivers business value, not individuals. The question of what makes a team so much more than the sum of its parts is just as applicable to a development team as it is to a sporting team.

Having said all that for the lack of Agile/XP/Alt,NET opportunities in the .NET space I find myself a square peg in a round hole on an "MSDN Microsoft" project that has never yet delivered anything after 4 1/2 years. Being a greenfields project we can always  upgrade to the latest Microsoft Visual tooling. Several weeks ago the CEO said in summary "we are using the latest Microsoft technologies so it must be good." I am sure that is what Microsoft Marketing would love to hear. It could be described that the project has degenerated into a research project into the latest Microsoft technologies.

# June 25, 2008 3:16 AM

Reflective Perspective - Chris Alcock » The Morning Brew #122 said:

Pingback from  Reflective Perspective - Chris Alcock  » The Morning Brew #122

# June 25, 2008 3:26 AM

thomasvochten.be said:

Foundations of Programming eBook

# June 25, 2008 3:48 AM

mdm said:

Hi, there's a typo in the Acknowledgement "either working, learning, writing our playing" should read "either working, learning, writing or playing". Am I right?

Just my 2c.

# June 25, 2008 5:15 AM

at3r said:

love your articles, more more I want more. No really is there more?

# June 25, 2008 5:42 AM

Eduardo Costa said:

Very nice work! Congratulations!

Eduardo Costa.

# June 25, 2008 5:58 AM

.NET Developer Notes said:

Free Foundations of Programming Book by Karl Seguin

# June 25, 2008 6:20 AM

Dew Drop - June 25, 2008 | Alvin Ashcraft's Morning Dew said:

Pingback from  Dew Drop - June 25, 2008 | Alvin Ashcraft's Morning Dew

# June 25, 2008 8:28 AM

Dan Martin said:

Thanks for the book!

# June 25, 2008 8:33 AM

karl said:

Thanks for the love all.

@mdm

Damn you! the one part I didn't have her read over, of course there'd be a typo. I doubt it's the only one though...I can always hide behind the free part ;)  I'll queue a bunch up and transparently post a new version at some point :)

# June 25, 2008 8:40 AM

Brendan Tompkins said:

Oh my God!  What an amazing contribution to our field!  And under such a great license.  This is truly an accomplishment!  

# June 25, 2008 9:20 AM

Jay Smith » Free Foundations of Programming E-book by Karl Sequin said:

Pingback from  Jay Smith » Free Foundations of Programming E-book by Karl Sequin

# June 25, 2008 10:31 AM

Cihat Altuntaş said:

Iam a big fun of your series. And finally EBook . Its a great resource Thanks Karl

# June 25, 2008 10:48 AM

Angel "Java" Lopez said:

Gracias a Cladio M.E. Bastos Iorio de http://www.blumer.com.ar me entero de la aparición de este libro

# June 25, 2008 11:49 AM

Ferry de Boer said:

Thanks for the great contribution to the community. I've read some of your elaborated posts and I definately loved them. I'm going to read this asap.

# June 25, 2008 11:55 AM

said:

No me gusta repetir post ya se de Geeks.ms o de otro universo, pero bueno esto es interesante y quería

# June 25, 2008 3:43 PM

Arjan`s World » LINKBLOG for June 25, 2008 said:

Pingback from  Arjan`s World    » LINKBLOG for June 25, 2008

# June 25, 2008 5:04 PM

david said:

Many thanks for this.  The best introduction I've come across to the .NET world beyond WebForms + DataSets

# June 25, 2008 5:37 PM

Karl Seguin said:

UPDATED: There's an official free ebook now available here . Tim Barcz was kind enough to compile

# June 25, 2008 8:21 PM

TrackBack said:

# June 25, 2008 8:22 PM

TrackBack said:

# June 25, 2008 8:22 PM

Andres said:

Thank you. I really appreciate this.

# June 25, 2008 10:07 PM

Skwr said:

Any chance of an A4 version of this?

# June 26, 2008 12:07 AM

links for 2008-06-26 | Michael Koby (mkoby.com) said:

Pingback from  links for 2008-06-26 |  Michael Koby (mkoby.com)

# June 26, 2008 1:31 AM

giovanni said:

Excellent work .... and it's free also

# June 26, 2008 3:58 AM

gi said:

excellent work ..and it's also free

# June 26, 2008 3:59 AM

Ειδήσεις του dotNETZone.gr said:

# June 26, 2008 6:00 AM

Daniel said:

Great contribution! What did you use for your code listings? They look slick.

# June 26, 2008 11:28 AM

karl said:

@Skwr: unlikely

@Daniel: manual labor

# June 26, 2008 11:56 AM

Janko said:

What a great idea! Thanks!

# June 26, 2008 6:38 PM

steve j said:

Thanks for sharing your hard work.

I've just begun looking at Workflow Foundation. It appears to be an architecture that's bigger than its name. For example, in the Shukla/Schmidt book, the authors make it a point to favor  "WF" over "workflow" (which they insist is "colloquial", whatever they mean by that).

I'm early into it but have the sense that everything you're advocating here --and more-- might be subsumed by coding to the WF model/architecture. Among other things, DI is just built in (if not called out as such).

Microsoft has undersold this piece IMO. Perhaps they're building on it themselves (like they once did with COM, e.g. VBA, IE, etc.). Sharepoint and Biztalk are just the obvious clients.

It's worth a look,  anyway.

# June 26, 2008 10:06 PM

joeyDotNet said:

How did I get started in software development?

# June 27, 2008 1:03 AM

Foundations of Programming - free ALT.NET e-book « HSI Developer Blog said:

Pingback from  Foundations of Programming - free ALT.NET e-book « HSI Developer Blog

# June 27, 2008 3:12 PM

Geek Book » Foundations of Programming - Free Ebook said:

Pingback from  Geek Book » Foundations of Programming - Free Ebook

# June 28, 2008 8:18 PM

Dragos said:

Thank you very much for the book!

# June 29, 2008 6:11 PM

Weekly Link Post 48 « Rhonda Tipton’s WebLog said:

Pingback from  Weekly Link Post 48 « Rhonda Tipton’s WebLog

# June 29, 2008 6:18 PM

???????????????????? ???? ???????????? ???????? » Blog Archive » ???????? ???????????????????? ????????????: ???????????? ???????????? ?????????? said:

Pingback from  ???????????????????? ???? ???????????? ????????  » Blog Archive   » ???????? ???????????????????? ????????????: ???????????? ???????????? ??????????

# June 29, 2008 10:15 PM

Weekly Links #7 | GrantPalin.com said:

Pingback from  Weekly Links #7 | GrantPalin.com

# June 30, 2008 1:21 AM

Alex on ASP.NET said:

Leseempfehlung: Foundations of Programming (kostenloeses eBook)

# June 30, 2008 4:07 PM

Hello World :-) said:

Voici un lien vers un excellent EBook de Karl SEGUIN (un contributeur régulier du site CodeBetter.com

# July 1, 2008 6:38 AM

Buchempfehlung: Foundation of Programming (eBook) | Code-Inside Blog said:

Pingback from  Buchempfehlung: Foundation of Programming (eBook) | Code-Inside Blog

# July 1, 2008 8:52 AM

Thomas said:

Excellent work, Karl. Thanks.

# July 1, 2008 12:38 PM

Daily Blog Post 07/01/2008 « Murratore’s Weblog said:

Pingback from  Daily Blog Post 07/01/2008 « Murratore’s Weblog

# July 1, 2008 6:58 PM

Beginner’s Mind « HSI Developer Blog said:

Pingback from  Beginner’s Mind « HSI Developer Blog

# July 2, 2008 5:47 PM

Johan Lindfors said:

Great resource Karl, well worth the read both for beginners and advanced .NET developers in my opinion.

I'm a bit surprised 'though that a book on "Foundations of programming" doesn't include a chapter or at least some notes on Security.

# July 3, 2008 1:16 AM

Kostenloses E-Book « Kostja’s .NETte Welt said:

Pingback from  Kostenloses E-Book « Kostja’s .NETte Welt

# July 4, 2008 10:06 AM

Bite my bytes said:

Links of the Week #43 (week 27/2008)

# July 6, 2008 5:05 PM

Zunanji viri said:

Development Foundations of Programming Ebook - Free eBook from Karl Seguin. Microsoft Visual C# 2008

# July 7, 2008 3:56 AM

Derik Whittaker said:

If you have not hear, Karl Seguin has authored a great, short eBook which he is giving away free to the

# July 10, 2008 9:38 AM

DaRage said:

I've been following the series from the begging and I should say that I learned a lot and it pointed me to great ideas.

Many thanks

# July 10, 2008 10:38 AM

Sean Kearon said:

Karl - great book, thanks!

# July 10, 2008 6:12 PM

Yann Trevin said:

Karl, there is a typo at page 14. You wrote: "The first thing we'll do is create three classes:", then you list in the example FOUR classes (Car, Model, Package, and Upgrade).

# July 11, 2008 7:13 AM

karl said:

Yann:

Thanks. I'm making all corrections as they come in. I haven't pushed out a new version yet (there hasn't been anything really major), but I will eventually.

# July 11, 2008 8:14 AM

Jason Clark said:

Simply put, reading this book has helped me understand why I wasn't happy developing the "MSDN" way, and helped me see what all the fuss was about.  Thanks so much for your time and effort in helping effect change in the community.

# July 11, 2008 8:22 AM

Yann Trevin said:

Typo at page 22. In the sample query, you wrote "Updagrades" as table name instead of "Upgrades".

Your book is very interesting. I like in particular the examples you have chosen. They are simple, concise, and yet complete and very explicit. Congratulations.

# July 11, 2008 8:31 AM

Scott Isaacs said:

Karl -

Really looking forward to reading the book.  Was hoping to read it on my WM6 phone, but the format doesn't seem to be working for that.  Oh well, laptop and/or paper will have to do.  :)

Thanks,

SI

# July 11, 2008 10:04 AM

Elegant Code » Book review: Code Leader - Using People, Tools and Processes to Build Successful Software said:

Pingback from  Elegant Code » Book review: Code Leader - Using People, Tools and Processes to Build Successful Software

# July 12, 2008 4:56 AM

Dave Mellors said:

The problem with not programming all the time is keeping up with the constant developments in programming

# July 13, 2008 5:06 AM

leo lear said:

I am so glad I found your pdf. It's gonna change the way I code forever. Thank you.

# July 14, 2008 4:11 AM

Yann Trevin said:

Typo at page 24: again "Updagrades" instead of "Upgrades".

Type at page 62: 2 closing parenthesis in 2nd paragraph.

Format inconsistency at page 66: the final 'y' character of "try/finally" has not the expected format.

# July 14, 2008 4:18 AM

MarkFreed said:

Fantastic book!

Here are a few minor corrections to consider adding to your list:

Page 31

Change the link to the StructureMap website from "structuremap.sourceforge.net)" to "structuremap.sourceforge.net"

Page 70

Code example:

Missing closing brace '}' in the try block.

Page 71

Code example:

In UpgradeException method change:

_upgradeId = i.GetInt32("upgradeId");

to:

_upgradeId = info.GetInt32("upgradeId");

In GetObjectData method change:

 info.AddValue("upgradeId", _upgradeId);

to:

   i.AddValue("upgradeId", _upgradeId);

Also consider calling base.GetObjectData(i, c) and adding a closing brace '}' to this method.

Thanks for such an excellent book.

# July 14, 2008 6:00 PM

Foundations of Programming - Learning Application - taccato! trend tracker, cool hunting, new business ideas said:

Pingback from  Foundations of Programming - Learning Application - taccato! trend tracker, cool hunting, new business ideas

# July 19, 2008 1:06 PM

Andrei Ignat Blog said:

# July 29, 2008 8:49 PM

So you want to learn NHibernate - Part 1/2, Prerequisites (or NHibernate = Marijuana.NET) « HSI Developer Blog said:

Pingback from  So you want to learn NHibernate - Part 1/2, Prerequisites (or NHibernate = Marijuana.NET) « HSI Developer Blog

# July 31, 2008 1:53 PM

dbones notes said:

Alt.Net events are in the UK

# August 2, 2008 1:40 PM

Louise said:

Congratulations Karl !!

# August 3, 2008 10:02 PM

Karl Seguin said:

I tend to subscribe to the belief that programmers with some C background are typically better off than

# August 4, 2008 3:04 PM

Community Blogs said:

I tend to subscribe to the belief that programmers with some C background are typically better off than

# August 4, 2008 4:00 PM

OASIS Development Blog said:

Finding our collective development identity

# August 8, 2008 9:18 AM

So you want to learn NHibernate - Part 0.5, Prerequisites (or NHibernate = Marijuana.NET) | The Freak Parade said:

Pingback from  So you want to learn NHibernate - Part 0.5, Prerequisites (or NHibernate = Marijuana.NET) | The Freak Parade

# August 8, 2008 6:39 PM

IAmNotMyself said:

Foundations of Programming Ebook

# August 11, 2008 12:50 AM

Karl Seguin said:

The relative hype around the Foundation ebook has been pretty fun. Today I noticed a very detailed (and

# August 14, 2008 11:56 AM

Community Blogs said:

The relative hype around the Foundation ebook has been pretty fun. Today I noticed a very detailed (and

# August 14, 2008 1:14 PM

What’s in a Title? - taccato! trend tracker, cool hunting, new business ideas said:

Pingback from  What’s in a Title? - taccato! trend tracker, cool hunting, new business ideas

# August 14, 2008 3:19 PM

Román (roman dot fq at gmail dot com) said:

Karl

I have a bunch of friends that will love reading something about this, I think it is going to be a good shift in the way they code right now. But their ability to read in English is not that great. Do you know of any translation or are willing to accept any translation to Spanish? I'd offer myself and will thoroughly read the license. Left my email in the Name, please let me know....

# August 20, 2008 6:12 AM

karl said:

Translations are welcomed. Roman, I'll get in touch and we can speak further.

# August 20, 2008 7:06 PM

.NET Charm said:

Code Better

# August 22, 2008 12:16 PM

martins privates blog : » eBook: Foundations of Programming said:

Pingback from  martins privates blog :   » eBook: Foundations of Programming

# August 25, 2008 1:22 AM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add
Check out Devlicio.us!

Our Sponsors

Free Tech Publications