What\’s New in XNA Game Studio 4.0

via What\’s New in XNA Game Studio 4.0.

For Games year 2 students

You may have seen this sensational bit of programming news over the last week.

Researchers have identified the top 25 mitakes that create the most common and deangerous security problems. Apparently, 2 of the most common errors are responsible for 80% of all problems. (em, sorry, I read that somewhere and can’t find the reference!)

More information about the errors, and the background of the research available here.

http://www.sans.org/top25errors/

Might be something worth passing along to students. What are some ways to engage students with this in class?

A programmer here in Ireland summarized the list here: João Rufino’s Blog

The NDLR Computer Science Community of Practice invites you to a seminar on:

Using PBL to teach 1st year programming

Stephen Howell, IT Tallaght

&

Problem Based Learning in the Software Engineering Classroom

Yvonne Delaney and Ita Richardson, University of Limerick

10 am, Tuesday 27th Jan, Room KB119 Kemmy Business Institute , University of Limerick.

RSVP: aisling.dundon [at]  ul.ie

Agenda

10am                    Coffee

10.30 – 11.30   Problem Based Learning in the Software Engineering Classroom

11.30 – 12.30   Using PBL to teach 1st year programming

12.30                   Discussion

PBL to Teach 1st year programming

4 years ago Computing in IT Tallaght faced problems that most Computing Courses faced, recruitment & retention, interest in programming and instructing students in core competency skills such as logic and the practice of programming. Several strategies were tried and discarded, including class size, language focus and syllabus adjustment, before a blended learning solution of retooled lectures with Problem Based Learning labs was tried. This was found to improve student performance, retain students over the year and give them a real ‘feel’ for programming. Stephen will be presenting a recap of the PBL techniques and other strategies used, and will present some of the student’s views 4 years on as they prepare to graduate college as software engineers.

Problem Based Learning in the Software Engineering Classroom

This presentation is based on a recent study conducted by Yvonne Delaney and Ita Richardson in the University of Limerick.  A research paper has been written and accepted to be presented at the 2009 Software Engineering Education & Training Conference in India.

Software engineering lecturers are faced with the teaching of concepts which sometimes are not easy for inexperienced students to understand.  Therefore, it can be useful to consider and use non-traditional teaching methods which can improve students’ learning.  In this presentation, we discuss problem-based learning and how its use can improve students’ understanding of concepts.   We present factors which should exist in ‘pure’ problem-based learning.  We then describe how problem-based learning was used with a class who were required to understand information flows through software engineering diagramming techniques, with the ultimate view to being able to analyse and design computerized information systems.  This problem-based learning class was observed and analysed.  The analysis presented focuses on the problem-based learning factors, how they were implemented in class, and the strengths and weaknesses of the use of problem-based learning in this way.  In conclusion, we discuss how the teaching could be improved through modifying the teaching method for a future class in which problem-based learning will be used.  This modification is expected to enhance the students’ learning and their experience.

Note:
For those travelling please let Aisling know if you would like her to reserve a visitors carpark.  The Kemmy Business Insititute is adjacent to the Schumann Building (ref 5 on the campus map) as a new edition to the campus it has not yet been included on the campus map.

http://www.ul.ie/main/places/campus.shtml

Okay, you know the problem. You need usernames and passwords for lots of sites. You’d like to use the same one for every site but even then some sites demand passwords of minimum length or with 1 or 2 digits. Your chosen user name may already be taken. Even if you get around this, re-using a single user name and password for every site is risky. Lastpass is the answer.

Here’s what you do

Go to Lastpass and sign up. You provide a really secure password to unlock your vault of usernames/passwords that you accumulate over time. Don’t worry, the secure data isn’t stored un-encrypted at their site. Your secure password isn’t held by them either but with your secure password will unlock your store of secure data at their site should you lose your copy.

Here’s how it works

You install a plugin (extension) to IE or Firefox. When you visit a site that needs your username/password, you are prompted to logon to Lastpass with your secure password (remember you don’t even have to connect to their site as you have a local encrypted copy too). The plugin then looks up that site in your vault and selects the correct username/password for that site. I haven’t yet found a site it doesn’t work for (except one that is totally Flash hosted). The username/password is automatically pasted into the form and you are logged in.

Is it safe?

Yup. The data is held locally and at Lastpass.com. But it is only held encrypted in AES 256bit (seriously good) and the clear password is never communicated.

Anything else?

Well, lots. You know sites that need a bunch of your details (say, for a purchase)? Well, Lastpass can help. You can provide the details and if Lastpass detects such a form, it offers to fill in the details. I use it for ordering stuff so I don’t have to provide all my contact details over and over again.

You can also, provide temporary access to the vault to others using a one-time use password. Obviously, Lastpass follows you about the internet so if you can install the plugin on a PC you have full access. There is a USB stick version of Laspass so you can backup your data and/or carry your vault with you from PC to PC.

Ok, I’m curious

Check out the screencast.

I just found out about this- and it’s in its final day tomorrow: http://ijtc.firstport.ie/ The Irish Java Technologies Conference

January 7th & 8th 2009 the Science Gallery, Dublin 2

“The IJTC is a two day Java conference being held Trinity College Dublin’s Science Gallery on Wednesday 7th and Thursday 8th January 2009. The conference is part of IrishDev.com’s IxTC series for the the Irish software development community.

The Irish Java Technologies Conference provides the Java community with a platform to meet, listen to and learn from some of the world’s leading authorities on Java technologies as they deliver twenty sessions in four tracks over two days.

Some people we know might have been interested in that! Alas.

(ps- Events would be a good category, no?)

Anders Hejlsberg grandaddy of Turbo Pascal and c# .NET, in his recent online presentation http://channel9.msdn.com/pdc2008/TL16/ has indicated that programming in c# and possibly other languages will include in the future the ideas of declarative, dynamic and concurrent programming concepts.  This is of interest to me as Prolog programming is both declarative and dynamic.  It is interesting that he talks about all this in an object-oriented programming paradigm.  Prolog programming has included the concept of a objects since it was developed in 1972 http://en.wikipedia.org/wiki/Prolog , objects are referenced by variables which have no type and can be bound to any structure which can be an object representation whether it’s a built-in type or whether it’s a derived term. Prolog is based on first order logic and the resolution procedure and as such is logically and mathematically provable.  Andres also talks about the problems introduced to both the CLR and the programmer in dealing with imperative programming and the knock on effects produced by the added coding complexity that is necessary to express ideas programmatically. Hence c# 4.0 is to include a new dynamic type which is (his words not mine) a “static type”.   Brings a laugh from the audience that one.  Also further work is ongoing in the dynamic language runtime see Iron Python and Iron Ruby. He hooks into Iron Python in the video. But for me as I have indicated to some of you ad-nausea the real fun starts with these concepts when you start to stretch them in terms of rich deep representation of and interaction between, objects. So the proof of concept will be at a later date. I have yet to come across a flawless implementation of a concept that if driven by commercial interest, but that’s another days discussion.

In the video check out around 29.30 min for a Microsoft admission of Java plagiarism!!

It is also interesting that Charlie Calvert http://blogs.msdn.com/charlie/archive/tags/CSharp/default.aspx has indicated on his blog that Prolog is not dead.

I have always had an interesting problem solving.  But programming once I figure out how to do something I find a little bit boring.  This is interesting that Andres has mentioned in his talk that “imperative programming is tedious”. I’d have to agree but you still have to learn it or do you?

Microsoft should possibly talk to people like Jan Wielemaker http://staff.science.uva.nl/~wielemak/ the author of SWI Prolog and the super dynamically typed XPCE true OOP. He has really done all that they are looking to do but they are trying to shoehorn it into the .NET architecture, possibly to come up with some Hybrid of C# (or name your flavour) and database language (again name your flavour).

As an aside, the idea of declarative languages is an umbrella for functional, Logical (predicates) etc. http://en.wikipedia.org/wiki/Declarative_programming.

 

Anyway caoi for naoi.

Paul.

Many of you probably have far more extensive blogging experience but here’s a few tips I picked up so far:

  • to help organisation we should probably ‘tag’ every post with some key-word – see the Tags box on the right when you post. Feel free to make up your own tags separated with commas but you can ask to see the popular tag names used so far.
  • another useful organising feature is to associate your post/page with a category. I think there should be quite few of these as they should represent largish collections of posts.
  • to use images in your posts, I just visit the site where the image is at and right-click the image to copy the image location. Then I head back to the post and choose the ‘Image’ option from above the toolbar, then ‘From URL’. Strictly speaking this is stealing bandwidth from the provider of the image but it’s quicker than saving their image and uploading to use our quota.
  • to insert a video from a hosting site (GoogleVideo, Youtube) that you might want to include in your post, use a code such as [vidsite=http://www.youtube.com/watch?v=YezHKTteIsw] where vidsite can be googlevideo or youtube. You can do this through the ‘Upload/Insert’ toolbar also but what it doesn’t say is that you can embed Vimeo videos too using a vidsite of vimeo. To use Vimeo you just need to say [vidsite 2443941] where vidsite should be vimeo.
  • I’ve created an About The Gang page (link at top of page). In there is a short description of what the group is about. In response to a request, I’ve created a link from there to a profile page about myself and where each of you might want to create a similar page and link to it from the about page. Seems WordPress doesn’t do profile pages well.

In Dept. Info. Sys., we’re looking more recently at pre-programming taster tools like Scratch (which Viv is using in 1st year), StarLogo TNG, and Alice to open new students’ minds to computing. While I’m not completely sold on the idea due to the cognitive leap from click n’ drag programming to the rigours of ‘real’ programming. Still, there is real merit to not alienating nascent programmers.

With this in mind, I welcomed hearing from Martha Rotter (MS) last week (during an interesting talk on Silverlight) that Kodu (previously Boku) has finally made beta – at least internally. A public beta is likely in the new year. I first saw Boku demo’d at MS Sandyford around the launch of Silverlight 1.1 (2006) and loved it. It’s written in C#/XNA for both PC/XBox 360. It doesn’t use the keyboard but instead uses a pop-up pie-menu system of icons to ‘program’ the behaviour of your robot on screen. Using these collection of simple commands in series allows you to determine the behaviour of  the bot and its interaction with its environment. Sequences of instructions as well as looping is also possible. Check out the videos on the Microsoft Research site.

Long Zheng posted a good video of his interview with Stephen Coy (Kodu team). Looking forward to the release.

One of the things which was brought up during the first meeting was ongoing research and development of our teaching practice. A concern is how to get recognition for this work- because it is a big part of our role as lecturers and important.

There are a few venues for promoting innovations, investigations and research in teaching practice. I’ll put up some posts about it in the coming weeks.

Please consider registering with the Computer Science Community of Practice

Why? Because you can share your examples of best teaching practice, find out about events happening in Ireland or opportunities for publishing and presentation; as well as learn, exchange resources and develop your teaching practice. The ‘CoP’ Community of Practice structure is one of the best outcomes from the NDLR initiative (IMHO), but this will take time to grow into a community with critical mass. Register as soon as you can to show your interest. We can also promote the blog through that network as well.

See a list of colleagues in the CoP: http://www.ndlr.ie/cscop/colleagues.html – ” If you would like to be included on this list or edit your details then e-mail cscop@ul.ie

If you want to find more about resources available through the NDLR (especially shared teaching resources) please email me hjames at you-know-where-i-work.ie

PS- This blog is a great idea, I can’t wait to see what can come of it in the next term. I wonder are there other blogs like this of cluster-groups in other ITs or UNIs? It would be nice to connect.