About MeCurriculumLicensePortfolioProjectsPublicationsBD-blog

Posts Tagged ‘Programming’

As I promised, BD-incollo 0.1 is finished and the source code is available in the project page under the GPL 3 license.
Every MUST requirement has been done and just two MAY requirements could not be developed in just 6 days. But They will surely be in the next releases.
Sourcecode is well commented using xP standards and there are few comments where necessary, but is should be clear. If not, drop me a mail.
I will write a map that describes the source code tree tomorrow!
The conclusions of this experiment are that Django is really a web framework for perfectionists with deadlines! I spent more time playing with templates and CSS than with the whole python coding! It’s a valid alternative to Ruby on Rails, and built on a programming language I really like.
Go and grab the code!

 
 

06
Jun

image for post title  Unipoli

We finally finished our university project, Unipoli. The Java implementation of the famous Monopoly game by Hasbro has been released under GPLv3 (yes it’s free software) . You can have a look at the source code, simple but elegant, written using coding standards, following xP practices and Scrum software development process (at least we tried to follow them).
On the project site you will find useful documentation, too: Vision Statement, User Stories, Noun Extraction, Product Backlog, UML Classes, Hierarchy and Relations, UML class diagram, Javadoc.
The game has been written for Programming Project course.
Read the rest of this entry »

 
 

For Programming Project course we’re adopting Scrum as software development process.
Scrum focuses on agile-like project management. The goal of Scrum is to deliver as much quality software as possible within a series of short intervals called Sprints. Scrum concentrates on identifying project variables (quality, time, requirements, etc.) and monitoring them constantly.

This process has been brought to our attention by prof. Pekka Abrahamsson, a guest professor that will stay with us until june.

I will update this page with new information as soon as they will be availabe.
These are the principal roles in Scrum:

Scrum Master: responsible for ensuring that the project is carried through according to the rules of Scrum and that it progesses as planned
Product Owner: responsible fot the project, managing and controlling. Makes the final decisions of the tasks related to a product backlog
Scrum Team: the project team that decides on the necessary actions and to organize itself in order to achieve the goals
Customer: participates in the tasks related to product backlog
Management: in charge of final decision making

Here is a nice model I drew yesterday, of the principal concepts of the Scrum method:

 
 

Tra un task di DSA e un commit per Programming Project, anche bodom_lx si svaga (ebbene sì!). Solitamente evito di fare quei stupidissimi test che arrivano come catena, ma questo era carino e lo incollo.. Click qui sotto per continuare..
Read the rest of this entry »

 
 

Updated on 18th April 2008, a complete example on stack and heap
Updated on 15th April 2008, new contents and new layout!
Updated on 6th April 2008, new contents!

At Programming Project course we study project-oriented approaches to Java-based software development. Don’t ask me why, the syllabus covers the topic “Modeling program execution with memory models”, even if we use Java, the programming language known for letting the developer to write programs without caring about memory.

Anyway, here is a briefly summary of the slides and the explanation of the professor about a simple object oriented memory model (Java as example).

Download the PDF of the summary

Topics covered:

  • Memory portions assigned to a program (code area, heap / dynamic memory area), execution stack
  • How code is loaded in Java
  • The Activation Record (AR) and function calls
  • Abbrevations (AR, RV, RA, SP, N/E, @, ??, arb)
  • Examples on method calls and activation records usage
  • Declaraion vs. Definition of a variable, the scope of a variable, blocks
  • Scope Activation Record (SAR), Static Link (SL), the role of SL
  • The extent/lifetime of a variable
  • Dynamic memory allocation and handling
  • Dynamic vs. Static memory allocation
  • Dynamic memory scope and extent
  • Accessing dynamic memory
  • Classes and Objects in detail, object instantiation
  • Memory Management issues
  • Objects vs. Variables (definitions)
  • Methods of Objects
  • Class Attributes
  • The null value
  • Parameters (formal, actual), parameters passing (by reference, by value)
  • Constructors and Inline Initialization
  • Constructor’s call
  • Class attributes (static variables)
  • Class methods (static methods)
  • Complete Example of Stack/Heap Diagrams

Everything is integrated with simple examples.

Download the PDF of the summary

 
 

24
Jan

image for post title  Projects

BD-incollo
A dpaste/pastebin clone written using Django

BD-shell
A tiny C shell for Unix systems

BD-theme
BD-blog Wordress theme, available for free

Unipoli
A well-written Java implementation of the popular Monopoli game by Hasbro. It is a project I wrote with other 3 University mates following a software development cycle (Scrum). Unipoli was the project for our Programming Project course. Source code included, released under GPL. We also provide Javadoc, user stories, uml diagrams, binaries.

Computer Shop Warehouse IDA
A very simple, not really useful IDA (Individual Database Application) developed for the “Introduction to Database Systems” course. The documentation is really interesting


Do you think my projects are useful? Has one of my projects helped you at the University? Do you like to learn something from my experience? Are you happy to be able to download every source code?
Then, why don’t you consider a small donation? Donations are useful to maintain my domains and the infrastructures that host my Projects. I’m just a student, I’m not interested to earn profits from my projects, that will always remain free. But I would be delighted to don’t pay for them :-)