Barren

Barren

Saturday, May 28, 2011

Internship during summer

*I have only 6 spots left. If you want in, let me know by Monday, May 30th, 2011.



 Project Oriented

Technical & Business Skills Development Workshop

At NMIT – Summer 2011


Proposal



Goals:
The goal of this initiative is to provide deserving students with real world experience, encourage creative thinking in engineering and incubate future entrepreneurship endeavors. This could also be a launchpad for their final year project as well if needed.

Background:
During their 6th semester, students worked on a project of their choosing as part of the Software Engineering course. They went through the entire software lifecycle to produce a relevant software product and demonstrated it at the end of the semester. Some of the projects were very high quality and this initiative is to keep them working on these endeavors until a professional product is made.

Students:
Students will be chosen on the strength of their Software Engineering project. We would draft individuals who are wholly committed to this, since this won't be a spoon fed type of an approach.
Students will be awarded certificates of completion on the conclusion of the workshop.

Supervisor:
Mr. Navpreet Randhawa , Sr. Lecturer,NMIT, Bangalore shall act as the supervisor. Each team will have a team lead that would report to me directly. My involvement with the teams would be to provide guidance, supervise their progress and do professional evaluations.I will expect high professionalism and single-minded focus for this.

Environment:
This will be a simulated work environment. Students will be expected to behave in a professional manner, work to complete their tasks and submit to evaluations on their progress.
The setup would work in a ‘startup’ mode – issues ranging from technical proficiency to finding revenue streams to creating business plans would be covered.
This would be a much tougher environment than the SE class project since they will have more ambitious goals and challenging deadlines to meet.
Since this is a simulated work environment, students who do not perform upto the professional standards set would be terminated from the workshop.

Requirements:
·      A lab is needed to give the students a workspace.
·      Students will bring their own laptops.
·      We will begin the workshop on 20th June and end it on 19th August.
·      Students will be granted a few days off or work out a flexible work schedule in case they are appearing for professional exams such as GRE or GMAT.
·      Students will be responsible for their own transportation in case the college is not able to provide it.
·      There will be 2 professional evaluations conducted by the supervisor, one midway through the studentship and another at the end of it.
·      Students will give a final presentation of their work during the workshop.
·      Official working hours will be 9AM to 4:20PM, Monday through Friday.

ChoosingStudents:
As mentioned above, students will be selected on the strength of their SE project. Those who already have internships outside the college may not need to join this initiative. In case a team has fewer than required members, more students will be recruited to fill their place. The projects shall remain static.
A maximum of 30 students will be recruited with no more than 6students per team.

Process:
Agile processes will be followed during the workshop. Extreme programming, sprints and daily scrums will be used to keep the projects moving forward. An SRS will be designed in the first week of the studentship and the teams will have to implement all the requirements during the workshop.




Navpreet Randhawa                   Dr Nalini N                                      Prof.Ranganatha Setty
Sr. Lecturer                                 HOD, CSE                                      Dean (Academic)
NMIT, Bangalore                       NMIT, Bangalore                             NMIT, Bangalore



Monday, May 9, 2011

Project Results

We ended the project presentations today and this was at times an exhilarating and at other times an exasperating experience. I saw some very creative and professional work, and was also subjected to some juvenile trash. But all in all, I believe each one of you learnt something valuable from this experience.

Your presentations were for the most part better than the ones I saw from eighth semester students. But I still heard some “…nothing but…” phrases and a lot of people decided to stare at the slides while speaking. Keep working on it and you can only get better from here.

Now, onto the fun part! How did the teams rate in my opinion? So here we go:

Only 2 teams managed to get 10 points for the presentation - eCampus and Aasaan. Other teams which did a really good job were Chatterbox, Pratayakshak (they were the first one to present and set the bar very high), Bluetooth Talks and Lumachis.

Best Dressed Team: Deorum/Legion – Gotta give props to the tie
Funniest Presentation: Wayward Developers
Presentation that followed my instructions to the ‘T’ – Aasaan
Presentation with the most ‘Wow’ factor – eCampus

Good job guys.

Tuesday, May 3, 2011

Dos and Don'ts for the Presentation

Be professional. Imagine making a presentation to your manager or other executives of your future workplace. Try to follow the following points.

  • Be clear and concise. There are no bonus points for having a lot of slides.
  • Dress professionally. No jeans, t-shirts, open toed sandals.
  • Use the powerpoint, but minimize animation, unless you really need it. Hitting enter everytime to display the next line on the slide is irritating. Flying phrases, flying question marks, flying exclamation points show immaturity. So does incorrect english.
  • Practice your presentation, in front of the mirror and with your teammates. Be sure about your role in the presentation.
  • Don't read off what is written on the slide. Turning around to read what is displayed out loud tells me you have no idea what you are saying. Learn what is on the slide you have to talk about, and explain it in your own words.
  • Make sure your equipment is working, in case you are doing a live demo.
  • Don't spend too much time on extra niceties like thanking me, HOD, Director, Principal, fellow classmates, assorted teachers, the Sun, the Moon, the Trees, etc. Basically don't waste my time or your own time.
  • Assume technical knowledge of your audience, but don't delve too deeply in the implementation. Basically, don't start a code walkthrough!
  • Use a simple colour scheme, don't get too creative with that. Light font on dark background.
  • Be passionate, be funny, be creative.

Following should be the rough outline of what you should cover in the presentation:
  • Project synopsis, mission statement, scope, etc.
  • Enumerate and illustrate the project lifecycle decisions you made.
  • Process model, requirements, system design.
  • Demo running code.
  • What does the future hold for this project?
This should cover about 15 minutes, while I'll ask questions for about 5 minutes. I would ask questions during the presentation instead of at the end as is the general practice.

Good luck! I'll see you soon.

Project Presentation Schedule

The schedule for the presentation is below. Anyone is invited to these. We will conduct these in Room 226. Make sure you come in and see what your classmates have done over the period of the semester. I will put up a separate post on the dos and don'ts for the presentation.

This is pretty much set in stone. Unless your team has a lab internal I will not entertain requests for time changes. All times are IST (Indian Standard Time, not Indian Stretchable Time). 20 minutes for each presentation (15 for presentation + 5 for questions) with 10 minutes break in between.




Team Name
Presentation Slot
Pratyakshak
May 05th, 0930
Smart Media Developers
May 05th, 1000
Smart Phone Browser
May 05th, 1030
WebMasters
May 05th, 1100
Media Player Developers
May 05th, 1130
eRaga
May 05th, 1300
Course Registration Form
May 05th, 1330
PC Remote Module
May 05th, 1400
SFENGINEERS
May 05th, 1430
SuryaKiran
May 05th, 1500
Online Scholarship Application
May 07th, 0930
Chatterbox
May 07th, 1000
ProSoft
May 07th, 1030
Lipyantara
May 07th, 1100
Lycan
May 07th, 1130
Modern Techno
May 07th, 1200
Netshielders
May 09th, 0930
Lumachis
May 09th, 1000
eCampus
May 09th, 1030
Enboyer
May 09th, 1100
Deorum
May 09th, 1130
Legion
May 09th, 1300
Wayward Developers
May 09th, 1330
Aasaan
May 09th, 1400
Bluetooth Talks
May 09th, 1430
Blatand
May 09th, 1500

*edit: Sorry guys, turns out I have to submit your CIE marks on Monday, May 9th; so we'll have to begin the presentation this Thursday.

Tuesday, April 26, 2011

Favorite Science Fiction Books

Historians love the past, they dwell in it, find their peace and many scruples there. Philosophers look to the higher plane of existence to satiate their thirst. It is only Engineers who deal with the future. It was an engineer who figured out the wheel and it is an engineer who will find out the secret of anti-gravity so we can buy jet packs.

So for a true engineer Science Fiction is very important, it fires the imagination, leads to the "Why not?" attitude, and brings us closer to the future every day.

I am listing my favorite science fiction books. Read them if you can, give me your thoughts about them if you already have, or mention your favorite sci-fi books.

1.

 

Isaac Asimov is the greatest science fiction writer who ever lived. Period. He might arguably be one of the 10 greatest writer who ever lived. The Foundation Trilogy is his crowning achievement. It routinely beat Lord of The Rings in all the competitions. To get a small dose of Asimov's brilliance - read this short story.

2.


This book will make Matrix seem like a slow boring dragged out story. Drama, action and loads of cool futuristic stuff. Very hard to put this book down once you start reading it. Card wrote about 6 more sequels - all terrific, but Ender's Game is his best one.

3.



Orwell is definitely one of the best writers who ever lived. 1984 is a dystopian view of the future - which some people say hasn't come true simply because Orwell wrote this book. Even still, this is political intrigue set in a wonderfully dark future. His prose is simple yet powerful.

*Orwell wrote another book called "Animal Farm" - not sci-fi but one of the best books ever written in my opinion. A book that can be read by a 10 year old and a 100 year old with equal relish and learn something from.

4.



No one comes even close in creating an atmosphere like Frank Herbert did in his seminal book, Dune. The effect is powerful enough to make you feel as if you are sitting in the middle of the desert extremely thirsty.

5.

With lines like these, how can this book be anything but hilarious and awesome.-
Marvin: "I am at a rough estimate thirty billion times more intelligent than you. Let me give you an example. Think of a number, any number."
Zem: "Er, five."
Marvin: "Wrong. You see?

Honorable Mention - Turbulence by Samit Basu. The only readable Sci-Fi book from an Indian author I have come across.

Let me know your thoughts. 

Monday, April 25, 2011

Question Bank 1-5

Question Bank for all the units is up on the project page...here!

System Implementation and Testing

The System Implementation and Testing are due on 30th of April. I hope you are working on this.

We will have presentations scheduled soon.

Sunday, March 20, 2011

System Design, Project Points

System Design deadline is March 23rd - 11:59PM.

The points for requirements are posted on the project page, here.

If you have questions about your points, come talk to me.

Thursday, March 10, 2011

Question Bank and System Design Deadline

System Design deadline has been moved to 19th March, 2011.

Question banks for unit 1 and unit 2 are online here.

Good luck on your internals!

Wednesday, February 16, 2011

First Submission Graded

I graded the 1st submission and sent emails out with comments and the number of points your team got.

Points structure was
1 point for your Product Name
3 points for Mission Statement
6 points for Process Model choice and reasoning

If you did not receive your grade then that means I did not receive your project.

Friday, February 11, 2011

Some tips for this week's submission!

1. Don't try to fit the process model with what your project is about. It is supposed to be the other way round. Create your process model, then work on the project following those principles. Don't worry about what model will work best for your project. You don't have the expertise in those models yet to make such decisions. Remember: The Process Model and it's Reasoning hold most of the marks for this submission. Not the project idea or name.

2. Everyone keeps coming to me for suggestions for project topics. I have mentioned 10s of projects in class. I cannot help you out there. If you have a question regarding whether the project is complex enough, then yes, come to me. If you have 2,3 or 4 ideas and want my opinion about which one to pick, then yes, come to me. Don't ask me to pick a project for you. That makes you look like you are incapable of thinking. Not a very good trait to publicize to your teachers (or anyone for that matter). Here are some of the ideas I spoke about in class

  • Automated Course Registration System
  • iOS or Android App to update Twitter, Facebook and LinkedIn status
  • Intrusion Detection System for college network
  • Implement a HoneyNet for your college's network
  • If you remember any other I mentioned, please write them in the comments!

3. I want a Mission Statement. It means you tell me: What is this a solution for, and who will use it. Don't say "Database project." or "Static Website". That's a zero right there.

4. Please don't plagiarize. Or steal code. Or use older projects to do this one. If I catch it, that's a zero for the entire project component (and getting an official letter to the HOD, Faculty Advisor and Parents). And believe me, I am very good at googling, so if you think I won't be able to find it - then you are wrong. I have already found some project ideas lifted directly from a particular website. It's kind of ok to take ideas (even though my whole speech about being creative apparently fell on deaf ears), it is another to steal code. So I'll wait and see for now. Ask yourself if it is worth it.

Good luck with the submissions. I'll have the comments back to you as soon as possible.

Friday, February 4, 2011

Retooling the Software Engineering Curriculum

The HOD asked me if there is any way in which the Curriculum could be made better, and of course I jumped onto the offer. So I have a week to come up with some suggestions. Some might impact the current students and some might be kept to incorporate next year/semester. A real life example of Phased Development, right? :)

So here are some of my quick thoughts on the matter. And since I am making a big hue and cry about creating an interactive process to learning, this is your opportunity to chime in. YOU will be the torch bearers of this process, incoming students (and teachers) will follow your example, so set the bar high and voice your opinions. Success here might lead to changes in other classes also. So take the initiative and help yourself.

My 2 cents on the matter -


  1. The book is outdated. We need to get a book that has more practical examples and less theory. An excellent candidate would be "Software Engineering - A Practitioner's Guide" by Roger Pressman
  2. UML integration. Although the HOD assured me you will learn UML in 7th Semester, but a rudimentary knowledge of UML will go a long way in making the concepts clearer, if I may use a cliche.
  3. Group Projects. This I think would be a big and necessary change.
    • At the end of  Unit 1 - basically where we are currently - students will be broken up into groups of 4-6 people.
    • Each group will go through a Software Life Cycle through the semester and produce something of substance by the end.
    • When the groups are formed, the students decide which process model they will follow, but with a twist. You create your own process - you take an existing process and add your improvements to it. The more innovative the changes, the better it'll be. Waterfall will not be allowed.
    • You pick a sufficiently complex project and nominate one person in the group as a Customer. 
    • As we go through the curriculum you create requirements, design the system and program, do backend coding, create test cases and test the system and deliver the project.
    • You decide what softwares to use for each leg of the project. Everything should not be done in MS Word, but the idea is to expose you to new softwares out there which take into account the Software Engineering processes.
    • Deliverables will match with the progression through units.
    • Idea is not to have a running system (although that would boost your marks) but to find out creative ways to tackle Software Development.
So here are my very quick thoughts on the matter. If we follow my suggestions I can guarantee you will be better engineers and therefore have better chances of employability. And to those who only care about becoming the next "Ambani" - it won't hurt to have a paying job after college.

Wednesday, February 2, 2011

Problems with installing Red Hat Linux.

There was a very atypical problem that was brought to my attention. Someone was not able to install the latest RedHat Fedora distro on their HP notebook. Fedora could not recognize the hard disk in the computer and refused to move ahead.

I am guessing there are Linux Gurus out there who'd be able to modify a generic hard disk driver to get the Toshiba drive in this laptop to work with Linux. Sadly I am not one of them.

But I did find a workaround.

Install VMWare on your laptop. This software (and it's crack) is available on torrents. That way you can create a Virtual Machine on your Windows environment and install RedHat (or Ubuntu or Mandriva or even Mac OSX) without the undue burden of creating multiple boots.

So there, problem solved.

Good luck messing around with Linux. And always backup your important documents before you create dual boot systems.

Tuesday, February 1, 2011

How to create a video game?

I got a question on Game Development today. That is an exciting field of Software Engineering and any coder worth his salt out there has attempted to write a game of his/her own. It has been a very long time since I did any development in the Gaming area, so I did some research and found some resources which might be useful.

Windows Gaming. Uses DirectX. Short tutorial.
OpenGL Game Development Resources.
OpenGL Book for 3D Gaming like World of Warcraft. : This book is available on piratebay.org.

To create your own game is perhaps one of the best ways to become good at coding. Once you figure out the intricacies of multi-threaded programming you can code in pretty much any language. Apply the Software Engineering priciples we have learnt so far - which means spend a little extra time on figuring out what you want to build exactly.

Good luck to those who are planning to attempt this. I am always around for more help.

PS: Here is a list of open source games.

UML - Unified Modeling Language

"The Unified Modeling Language (UML) is a graphical language for visualizing,
specifying, constructing, and documenting the artifacts of a software-intensive system.
The UML offers a standard way to write a system's blueprints, including conceptual
things such as business processes and system functions as well as concrete things such
as programming language statements, database schemas, and reusable software
components."
The important point to note here is that UML is a 'language' for specifying and not a method or procedure. The UML is used to define a software system; to detail the artifacts in the system, to document and construct - it is the language that the blueprint is written in. The UML may be used in a variety of ways to support a software development methodology (such as the Rational Unified Process) - but in itself it does not specify that methodology or process.
Download the free trial for Enterprise Architect to your computers and play with it. When the trial runs out, figure out how to get it again. :) Here is the link : Download Enterprise Architect

Monday, January 31, 2011

What is happening in Egypt?

As an educator it is my duty to not only help you in your engineering aspirations, but also help you with your educational aspirations. One of the key elements of education and intellectual growth is knowing what is happening in the world around you. Everyone needs to understand that immediacy of the goings on, how it affects them and not hide in the indolent and safe arena of a College.

Tomorrow it might be (hopefully it is not) your turn to show your displeasure to the corrupt administrators. So learn and understand the power of freedom, free speech and free will.

http://motherjones.com/mojo/2011/01/whats-happening-egypt-explained

Thursday, January 27, 2011

Why is Software Engineering needed?

Software Engineering

Software engineering (SE) is a profession dedicated to designing, implementing, and modifying software so that it is of higher quality, more affordable, maintainable, and faster to build. It is a "systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering of software, that is, the application of engineering to software." The term software engineering first appeared in the 1968 NATO Software Engineering Conference, and was meant to provoke thought regarding the perceived "software crisis" at the time. The IEEE Computer Society's Software Engineering Body of Knowledge defines "software engineering" as the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software. It is the application of Engineering to software because it integrates significant mathematics, computer science and practices whose origins are in Engineering.