<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8306793</id><updated>2011-07-08T02:05:50.974+01:00</updated><title type='text'>C Sharp Course</title><subtitle type='html'>A blog for the C Sharp course at the University of Hull</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://csharpcourse.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://csharpcourse.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rob Miles</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8306793.post-109587053465348348</id><published>2004-09-22T17:26:00.000+01:00</published><updated>2004-09-22T17:28:54.653+01:00</updated><title type='text'>The Blogs Don't Work</title><content type='html'>I'm afraid that blogging a programming course just doesn't seem to work very well. It is proving hard to incorporate the listings and the structure is all wrong. So I'm trying &lt;a href="http://robsroldec.dcs.hull.ac.uk/wiki/index.php/Main_Page"&gt;something else &lt;/a&gt;instead. Let me know what you think.
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8306793-109587053465348348?l=csharpcourse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharpcourse.blogspot.com/feeds/109587053465348348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8306793&amp;postID=109587053465348348' title='47 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109587053465348348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109587053465348348'/><link rel='alternate' type='text/html' href='http://csharpcourse.blogspot.com/2004/09/blogs-dont-work.html' title='The Blogs Don&apos;t Work'/><author><name>Rob Miles</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>47</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8306793.post-109576551830080495</id><published>2004-09-21T13:13:00.000+01:00</published><updated>2004-09-21T12:23:45.806+01:00</updated><title type='text'>Lecture 02 Intro - Program Construction Essentials</title><content type='html'>We have seen how a C# program can be made to do useful things like add two numbers together and get the result right some of the time.

In this session we are going to look at the essential C# constructions which are used to create a program which can process data. The programs that we are considering at the moment work as follows:
&lt;ol&gt;&lt;li&gt;Start&lt;/li&gt;&lt;li&gt;Read in some data&lt;/li&gt;&lt;li&gt;Do something with it.&lt;/li&gt;&lt;li&gt;Display a result&lt;/li&gt;&lt;li&gt;Stop&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;This is essentially how &lt;strong&gt;all&lt;/strong&gt; programs work (except that they may not stop; instead they return to step 2 after step 4). &lt;/p&gt;&lt;p&gt;In terms of C# this means that we have to know:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;how the program can be made to perform particular operations in sequence&lt;/li&gt;&lt;li&gt;how the operations are expressed&lt;/li&gt;&lt;li&gt;how the program can store information that it is going to work on&lt;/li&gt;&lt;li&gt;how the program can make decisions based on the information it is given&lt;/li&gt;&lt;li&gt;how the program can display output to the user&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;These things will be covered in the lecture today.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8306793-109576551830080495?l=csharpcourse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharpcourse.blogspot.com/feeds/109576551830080495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8306793&amp;postID=109576551830080495' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109576551830080495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109576551830080495'/><link rel='alternate' type='text/html' href='http://csharpcourse.blogspot.com/2004/09/lecture-02-intro-program-construction.html' title='Lecture 02 Intro - Program Construction Essentials'/><author><name>Rob Miles</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8306793.post-109569775968904818</id><published>2004-09-20T17:20:00.000+01:00</published><updated>2004-09-20T17:29:19.690+01:00</updated><title type='text'>Tutorial 01 - Decisions Decisions</title><content type='html'>Today we had our first tutorial sessions. You can find out what they were about &lt;a href="http://classroom.dcs.hull.ac.uk/08101files/Tutorial01.htm"&gt;here&lt;/a&gt;. For those of you on the course there is a simple tutorial session on the &lt;a href="http://classroom.dcs.hull.ac.uk/MicrosoftClassServer/School/"&gt;class server &lt;/a&gt;for you to work through. The practical work (which will be based on the tutorial) will be going live on Wednesday of this week.

Oh, and if anyone is not on the class, but would like to take part in the course, send an email  &lt;a href="mailto:systems@csharpcourse.com"&gt;here&lt;/a&gt; and I'll see what I can do.
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8306793-109569775968904818?l=csharpcourse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharpcourse.blogspot.com/feeds/109569775968904818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8306793&amp;postID=109569775968904818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109569775968904818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109569775968904818'/><link rel='alternate' type='text/html' href='http://csharpcourse.blogspot.com/2004/09/tutorial-01-decisions-decisions.html' title='Tutorial 01 - Decisions Decisions'/><author><name>Rob Miles</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8306793.post-109540767719891712</id><published>2004-09-17T08:49:00.000+01:00</published><updated>2004-09-21T12:09:37.340+01:00</updated><title type='text'>Practical 01 - Getting a C# Program To Run</title><content type='html'>Today is our first proper practical. Do not be afraid. If you can read this you are already half way there. The classroom server can be found &lt;a href="http://classroom.dcs.hull.ac.uk/MicrosoftClassServer/School/"&gt;here&lt;/a&gt;. An html version of the lab can be found &lt;a href="http://classroom.dcs.hull.ac.uk/08101files/ClassLab01.htm"&gt;here&lt;/a&gt;.

The login is your email address and your student number. As an example: - with an email address of: F.Bloggs@2004.hull.ac.uk - and a student number of: 200402232 Your username would be F.Bloggs and your password would be 200402232. If you try this and it doesn't work, please send me an email at &lt;a href="mailto:systems@csharpcourse.com"&gt;systems@csharpcourse.com&lt;/a&gt; with your email address and student number and I'll add you manually. Note that your student number is the one that you got when you registered. It usually starts with the year that you arrived in Hull, i.e. for most of you 2004. Note that it is not your UCAS number.

Please change your classroom password (you can do this with the change password link underneath your username on the login page). This password is separate from the other passwords that you use.
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8306793-109540767719891712?l=csharpcourse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharpcourse.blogspot.com/feeds/109540767719891712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8306793&amp;postID=109540767719891712' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109540767719891712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109540767719891712'/><link rel='alternate' type='text/html' href='http://csharpcourse.blogspot.com/2004/09/practical-01-getting-c-program-to-run.html' title='Practical 01 - Getting a C# Program To Run'/><author><name>Rob Miles</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8306793.post-109535570536514775</id><published>2004-09-16T18:13:00.000+01:00</published><updated>2004-09-21T12:05:02.353+01:00</updated><title type='text'>Lecture 01 Notes  - The Science of the Happy Ending</title><content type='html'>The first lecture has come and gone. After some housekeeping we moved on to consider programming. I regard it as:

&lt;span style="font-size:130%;"&gt;The Science of the Happy Ending&lt;/span&gt;

A project should end with you, the programmer, walking away with a wad of cash which is fair reward for effort and the customer with a system that does what they want.

To this end the program itself is just a small part of the job that you need to do. You must also do things like:
&lt;ul&gt;&lt;li&gt;Make sure the customer is prepared (and able) to pay you a good rate for the job.&lt;/li&gt;&lt;li&gt;Make sure that you understand what the problem is (sometimes the customer doesn't even know this one).&lt;/li&gt;&lt;li&gt;Make sure that you don't do more work than you need. And you get paid for what you do.&lt;/li&gt;&lt;li&gt;Make sure that you deliver a product which does the job, can be proved to do the job, and can be maintained over time.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Learning C# is not going to answer all the above points, but it does make a good tool to do the program part. I'm sorry if it seems I'm taking an unduly "product centered" view of the art of programming. But I find that this helps a lot when considering what you should be doing. This part of the course will concentrate on the programming part of the effort. Other parts will worry about specification, testing and the other issues. But you should always keep a clear view of that mythical "happy ending" in whatever you do.&lt;/p&gt;&lt;p&gt;In terms of the business of programming itself, it is worth considering a few terms:&lt;/p&gt;&lt;p&gt;&lt;em&gt;metadata - &lt;/em&gt;data about data. Saying "we store the age" is one thing. Saying "we store the age as an integer in years with a low limit of 0 years and an upper limit of 120 years" is much more sensible. The long bit is the data about the data. Or metadata.&lt;/p&gt;&lt;p&gt;&lt;em&gt;abstraction - &lt;/em&gt;stepping back from the problem. Before you worry about precisely how the "customer" item will work internally you need to consider just what the customer item will be called upon to do. You can say things like "the customer has an address" and then later you go back and fill in the detail. You need to practice abstraction. Write a program to keep track of a dress shop (and we might do this) and you might think that your starting point is "Dress". It is not. It is "StockItem". If our dress shop starts selling handbags we need a way to handle these later. If we start at the level of dress we are heading for trouble. Start with StockItem and every thing that we want to sell can be handled like this.&lt;/p&gt;&lt;p&gt;&lt;em&gt;program&lt;/em&gt; - a sequence of steps which tells something how to do something. This is one way of viewing programming. There are others. We are using this view because we have found it the easiest for people to learn. With this in mind consider:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;shopping list&lt;/li&gt;&lt;li&gt;address book&lt;/li&gt;&lt;li&gt;chocolate cake recipe&lt;/li&gt;&lt;li&gt;CD track list&lt;/li&gt;&lt;li&gt;club member list&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;One of these is a program. One of these might be a program. The recipe is the obvious one. It is a sequence of steps. The others are simply collections. Except that when I go shopping I get instructions like "..if you can't get self raising flour then get plain. But then you have to buy some baking powder..." which sound like instructions to me.&lt;/p&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8306793-109535570536514775?l=csharpcourse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharpcourse.blogspot.com/feeds/109535570536514775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8306793&amp;postID=109535570536514775' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109535570536514775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109535570536514775'/><link rel='alternate' type='text/html' href='http://csharpcourse.blogspot.com/2004/09/lecture-01-notes-science-of-happy.html' title='Lecture 01 Notes  - The Science of the Happy Ending'/><author><name>Rob Miles</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8306793.post-109533280719356982</id><published>2004-09-16T13:03:00.000+01:00</published><updated>2004-09-21T12:07:10.510+01:00</updated><title type='text'>Lecture 01 Intro</title><content type='html'>In the first lecture we are going to discuss issues around what programmers actually do. Then we are going to look at how we might best go about these things. These issues have little to do with computers as such, but more to do with the nature of problems and human behaviour. If all this sounds a bit vague and meaningless, then never mind.

We will also cover issues of abstraction and metadata. So it really sounds like fun.

There are links to classroom server for the labs &lt;a href="http://classroom.dcs.hull.ac.uk/MicrosoftClassServer/School/"&gt;here&lt;/a&gt;. You will need these for your first practical session tomorrow.
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8306793-109533280719356982?l=csharpcourse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharpcourse.blogspot.com/feeds/109533280719356982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8306793&amp;postID=109533280719356982' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109533280719356982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109533280719356982'/><link rel='alternate' type='text/html' href='http://csharpcourse.blogspot.com/2004/09/lecture-01-intro.html' title='Lecture 01 Intro'/><author><name>Rob Miles</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8306793.post-109506294049761194</id><published>2004-09-13T09:04:00.000+01:00</published><updated>2004-09-13T09:51:33.846+01:00</updated><title type='text'>Welcome</title><content type='html'>This is the blog of the C sharp programming course at the University of Hull. It forms part of the module 08101 Programming I. I'm going to use the blog as a medium to inform Hull University students who are lucky enough to end up on this course of the content of each lecture.

I will also be publishing downloads and notes along the way so if you want to follow the course you are welcome to.

This is kind of experimental - I'm not sure how it is going to turn out. Feel free to post constructive comments about the content.

If you are learning to program and you want to start your own blog specifically about how you are getting on, then I reckon this might be a very good idea. If you want to become part of a worldwide community of people who are into this stuff, take a look at &lt;a href="http://www.thespoke.net/qotd/firstpage.aspx"&gt;the spoke&lt;/a&gt;.
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8306793-109506294049761194?l=csharpcourse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://csharpcourse.blogspot.com/feeds/109506294049761194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8306793&amp;postID=109506294049761194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109506294049761194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8306793/posts/default/109506294049761194'/><link rel='alternate' type='text/html' href='http://csharpcourse.blogspot.com/2004/09/welcome.html' title='Welcome'/><author><name>Rob Miles</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
