Is there a way to programmatically create PowerPoint presentations. If possible I'd like to use C# and create PowerPoint 2003 presentations.
Yes you can.
You will want to look into MSDN which has a pretty good introduction to it.
I might give you a word of warning, microsoft office interop is compatible with an API which is now more than 10 years old. Because of this, it is downright nasty to use sometimes. If you have the money to invest in a good book or two, I think it would be money well spent.
Heres a starting point for you. Use the search feature on MSDN MSDN Webpage its good for any microsoft C# .net style stuff.
Specifically in regards to your question, this link should help: Automate Powerpoint from C#
Finally, to whoever downvoted this: We were all learning one day, howto do something as a beginner is most definately programming related, regardless of how new someone might be.
If you don't really need PowerPoint compatible output, consider using a markup language such as LaTeX with the Beamer package to produce a PDF of the presentation, or use HTML and javascript in a manner similar to Slidy. If you need fancy effects, it might still be easier to use SVG, and you'd have the benefit of getting output that can be reliably viewed with free software.
http://msdn.microsoft.com/hi-in/magazine/cc163471(en-us).aspx
use this link although this is in vb.net but c# also supports the same
You can also look at Aspose Slides, a component for .NET and Java that makes it easy to generate powerpoint documents.