Like before, let's jump directly to the problem.
1. Working with people who you are already acquainted with work/project:
Pros:
- This has a huge and undeniable advantage, which is that we people can almost expect(or know) the ability and the dedication of the members as we already experienced working with them in some work or project.
- Also, as the we experienced working with people before, the co-operation can become easier, so that the flow of the project/work is easier to control.
- No risk like working with new people, when we don't have a real understanding of them yet. Anything can happen (although that in CS3216, I don't think there's risk out there working with new people, but in normal life, people we don't know much can be real great and real fit the project, or on the other hand, can be real lazy and don't want to dedicate much, then working with the second people can really contain certain risk. Of course, this can be partly handled by finding more and more information about potential team mates in advance, but I don't think taht it can be completely dealt with, i.e, there can be still risk)
Cons:
- Lose chance to meet new people, in my opinion, one people does not need to have only 'dream team', in fact there can be many dream team out there, and if we keep working with the only 'dream team' we have formed so far, we will lose the great chance to working with new people.
- Life is not as poetry, we can ensure that we will always be able to work with people we know and want to work with, so if working with new people can really enhance and improve our experience and ability to work in a group of new people, which I think is a must-have skill in life.
Conclusion:
- Should work with new people when it's not so necessary to work with acquainted ones, i.e, some minor project, but should work acquainted people when there is an urge to work, i.e, important project (like final project in cs3216). Both working with new and old people are skills that should be learnt and improve in life, the first is to learn, and the second is to enhance.
2. Important trait:
- Frankly, I have no trait inside me. Now that the assignment mentions it, I think seriously I should have at least some things in mind first. Now I only have some characteristics I look for in my team mate (now I only look for and expect). Will fill in and expect more and more later on.
- Firstly, the team member should be hard-working and dedicate hard work for the team project. I think this is the most important thing.
- Secondly, I expect and want to, but not must, work with somewhat same-level people (not greatly different I mean). For example, I don't want to work with damn good people, when all I have to do is sitting there, doing nothing except staring or seeing people working. I don't like it, seriously. I want to do, want to dedicate, and I real feel bad if doing nothing in the project. I'm not the kind wanting free grade. Seriously I can learn from them, by seeing them working or asking question, but I want to do, that's what really matters. Luckily until now I have never work with damn good people (Patrick is almost indeed). First assignment has nothing to explain, indeed I really enjoy working with them and I will work with them again for the final project. Google Wave assignment is a little bit like that, when seriously I did no programming at all, even though I am a programmer. Patrick wrote the code at first (which was very much), and then Xecheng join the programming side, and Google Wave assignment (or my assignment) doesn't require 3 programmers to code, it's not that large I think. So I ended up doing the write-up things, lol, poor me. Indeed I did feel bad, but I think this time it was not that they were too ways high level than me, but it is I who was ways low level than them (can you get it?), and I will become strong later on :), the GW assignment was not the same as the 'damn good people' I described above. Anyway, back to the GW assignment, some how I also enjoyed working with them, it was really nice working Xecheng and Patrick, really, really nice, and if one asks me whether I want to work with them again, then definitely yes, and I will dedicate as well that time, not like before.
- That's all for the second question.
3. lol, I was there looking and asking "what is VC????" (although I can guess), the assignment listed it here while introducing about it later on, haha. Anyway, about the question, I dont really know, the only thing I see by now is that there's two game designer, so there might be some conflict in the game design.
4. Working with talented people or people you like? People I like, definitely. The first reason can be like I described in question 2, when working with really dam good people. Secondly, talented people but I don't like can negatively affect the bond and the co-operation. Thirdly, generally I like not-lazy people and in my opinion, every single person has it own talents, so everyone is talented in some way, the key is that whether they can do their good in the project (i.e, I only mean that there's no talented aspect here). Still don't know how to express, but I really, really like and seriously want to work with people I like, and seriously don't want to work with people I dislike (still can work if must, I will temporarily consider I don't dislike them, or consider this is the chance to stop disliking them) - the second is rare, cos normally and generally I don't dislike people, very few up to now. People I don't like or dislike, still want to work, just that not as 'want' as people I like.
Part 2:
1. recommend a simpler design or encourage keep that completely strange design. I dont know, seriously. I am not a casual gamer, I am a hardcore (partly) gamer. I don't see any special interest in Mafia Wars (the others I haven't seen yet) and I see no point playing it, but a huge amount of people playing it, and I completely don't understand why. And another point prof mention is that no game that requires IQ more than 40 has been successful in fb, also don't really understand, but take it into account, it reflects the target and current users out there that we should concentrate on. In face, redesign as many things as possible is great in my opinion, but the potential risk is also high as well. Still don't know whether to recommend simpler design or encourage keeping like that, frankly. I like the redesign the whole thing, but my instinct tells me that it is damn risky.....
2. If my opinion, if there were a 5th programmer in the team, things would be more smooth, although there are still certain disadvantages. Ken and Gareth can deeply concentrate on the game design without worrying about the programming part, so that it can become better. Han also have people to share the work so the amount of work he carries is not great. But a disadvantage is that at times the programmer do not produce the expected result as the designer want, and if the designer want to change something, he must contact with a programmer, and if the designmer want to experiment different designs, things will become a little trouble some, sometimes he might not want to disturb the programmers so that he refuses to experiment instead.
Enough for now.....
Monday, March 1, 2010
Monday, February 22, 2010
Case Study - GetHelp!!!
Dont know how to open the post naturally, then just jump to the point right away :-P.
Truthfully, I was a little shocked reading the case study this time. The idea is quite similar to the idea of my group's facebook assignment project, and truthfully, the GUI is somewhat similar, and then it is intended that the GUI sucks, then improve it. LOL, how can I improve it while the GUI implemented by my group is somewhat similar. I'm doomed. Anyway, enough for the spamming joke, let's go to the point.
Seriously, I'm not very good at design as well as my experience is quite limited, so indeed there're not many problems I can see in the implementation, but anyway, let's start.
The very first thing is to analyzing the statement of the problem. "redesign the user interface from scratch" (quoted), note that "from scratch" means that everything single thing is wrong (or is it just prof's trick :-P). Indeed, I don't see problems in some pages, sigh, so let's forget it anyway.
Let's dig out the interface, here I look at every single page, instead of specialization, i.e, user interaction,.. I will dig out each page in term of functional, attractive,.. if I have idea.
The very first and also almost always the most important page is the home page. Here it is merged also into user's profile page. The heart of this app is to 'quickly' get help, so the process to create a new offer should be present right in the home page, and this is met here. Now I understand why prof told my prof to include the create process in our canva page. Actually back then I don't see any real advantages in that, as I think the real intention of my group is to create new event through the publisher, it's much faster and more convenient, plus the users visit their home page quite more often than the app page. Back to the GetHelp!!!, in the create help page, there're some problem I think. The first is that I don't know which ones of the inputs are optional, as there's no indication. If all of the input fields are required, it would be quite troublesome. The first reason is that not in all cases I always have a deadline or estimated time, it's just that I may have, not I must have. Anyway, looking more carefully at the page, it seems that every field apart from the main title is supposed to be optional, but there's no real indication (or just no in the image?), then it may confuse users in the first use. Some other minor issue is that 'who do you want to ask' and the 'web included' should have some default value, and user can set default to that, as it make it more convenient to offer a new help. One more thing is that there can be optional input field 'urgent level', which can included 'emergency' (like tomorrow is my midterm and I need help right now, as soon as possible), 'normal', and the default value should be 'normal'. Of course, on the new feed the very emergency helps should be placed first. That's all for the first page.
Come to the next page, the 'new feed'. The first thing I think looking at this page is it would be a little bit confusing for the long run as well as make it a little harder for those who want to real help. What I mean is that projects/activities and awards/incentives/achievements of friends should be separated. It helps the users to easily see what their friends' help without being disruptive about the awards, as well as there's a box displaying their friends' awards, which I think can encourage them to do more, and the key is that it is always present, which means that they are always encouraged (not absolutely true, but somewhat it is so). Of course the heart of this application is the help, not the awards :-P, so the box for the awards should be relatively small in comparison to that for friends' help. Notice the 'calls for help' on the right side, but don't quite know whether it's really needed or not, in my opinion it's not, as it is displayed and separeted in the 'what's new' page.
Just one thing to also included here. Notice that the 'refer a friend!' function. The question is that, what if I have many friends to suggest/recommend, then it would be troublesome for me to recommend, which may discourage users from doing so. It would better be replaced by 'refer friend(s)', and then users can choose friends from multiple friends, or just search for them by a search function.
Now let's go to the 'helper activity/project page'. Not much problem here, but there should be some, as indicated by "from the scratch". It's not really related to this, but anyway, it's presenting in this page, so let's put it here. The first problem is the 'probables'. There can be duplications in this fields, as maybe there are 2 friends out there who refer the same person. Also, there can be duplication between 'probables' and 'helpers', which should also be paid attention to. Anyway, another problem arising is that at times number of helpers would be relatively large, then it can be somewhat hard for the owner to choose. Many is very good, but at times it is more convenient to have less :-P. Last problem is that I dont see any indication of found/successful-close/giveup here (and in the new feed to), how can I know whether the owner still needs help or not?
Lastly, the stats page, as I mention about, let's forget about the "from the scratch", I don't see any real problems here, I just think that the heart is the help, the incentives are just to encourage people, and this stats page and its functions are just nice :-).
The last thing which is not in any page is that I don't see any indication of friend's page. I think there should be, maybe it's just that it's not in the case study pdf file, cos it's quite important. Imagine of the case I have a crash on someone and want to see her help to offer to gain impression, then the friend's page is the right way for me to go :p.
Truthfully, I was a little shocked reading the case study this time. The idea is quite similar to the idea of my group's facebook assignment project, and truthfully, the GUI is somewhat similar, and then it is intended that the GUI sucks, then improve it. LOL, how can I improve it while the GUI implemented by my group is somewhat similar. I'm doomed. Anyway, enough for the spamming joke, let's go to the point.
Seriously, I'm not very good at design as well as my experience is quite limited, so indeed there're not many problems I can see in the implementation, but anyway, let's start.
The very first thing is to analyzing the statement of the problem. "redesign the user interface from scratch" (quoted), note that "from scratch" means that everything single thing is wrong (or is it just prof's trick :-P). Indeed, I don't see problems in some pages, sigh, so let's forget it anyway.
Let's dig out the interface, here I look at every single page, instead of specialization, i.e, user interaction,.. I will dig out each page in term of functional, attractive,.. if I have idea.
The very first and also almost always the most important page is the home page. Here it is merged also into user's profile page. The heart of this app is to 'quickly' get help, so the process to create a new offer should be present right in the home page, and this is met here. Now I understand why prof told my prof to include the create process in our canva page. Actually back then I don't see any real advantages in that, as I think the real intention of my group is to create new event through the publisher, it's much faster and more convenient, plus the users visit their home page quite more often than the app page. Back to the GetHelp!!!, in the create help page, there're some problem I think. The first is that I don't know which ones of the inputs are optional, as there's no indication. If all of the input fields are required, it would be quite troublesome. The first reason is that not in all cases I always have a deadline or estimated time, it's just that I may have, not I must have. Anyway, looking more carefully at the page, it seems that every field apart from the main title is supposed to be optional, but there's no real indication (or just no in the image?), then it may confuse users in the first use. Some other minor issue is that 'who do you want to ask' and the 'web included' should have some default value, and user can set default to that, as it make it more convenient to offer a new help. One more thing is that there can be optional input field 'urgent level', which can included 'emergency' (like tomorrow is my midterm and I need help right now, as soon as possible), 'normal', and the default value should be 'normal'. Of course, on the new feed the very emergency helps should be placed first. That's all for the first page.
Come to the next page, the 'new feed'. The first thing I think looking at this page is it would be a little bit confusing for the long run as well as make it a little harder for those who want to real help. What I mean is that projects/activities and awards/incentives/achievements of friends should be separated. It helps the users to easily see what their friends' help without being disruptive about the awards, as well as there's a box displaying their friends' awards, which I think can encourage them to do more, and the key is that it is always present, which means that they are always encouraged (not absolutely true, but somewhat it is so). Of course the heart of this application is the help, not the awards :-P, so the box for the awards should be relatively small in comparison to that for friends' help. Notice the 'calls for help' on the right side, but don't quite know whether it's really needed or not, in my opinion it's not, as it is displayed and separeted in the 'what's new' page.
Just one thing to also included here. Notice that the 'refer a friend!' function. The question is that, what if I have many friends to suggest/recommend, then it would be troublesome for me to recommend, which may discourage users from doing so. It would better be replaced by 'refer friend(s)', and then users can choose friends from multiple friends, or just search for them by a search function.
Now let's go to the 'helper activity/project page'. Not much problem here, but there should be some, as indicated by "from the scratch". It's not really related to this, but anyway, it's presenting in this page, so let's put it here. The first problem is the 'probables'. There can be duplications in this fields, as maybe there are 2 friends out there who refer the same person. Also, there can be duplication between 'probables' and 'helpers', which should also be paid attention to. Anyway, another problem arising is that at times number of helpers would be relatively large, then it can be somewhat hard for the owner to choose. Many is very good, but at times it is more convenient to have less :-P. Last problem is that I dont see any indication of found/successful-close/giveup here (and in the new feed to), how can I know whether the owner still needs help or not?
Lastly, the stats page, as I mention about, let's forget about the "from the scratch", I don't see any real problems here, I just think that the heart is the help, the incentives are just to encourage people, and this stats page and its functions are just nice :-).
The last thing which is not in any page is that I don't see any indication of friend's page. I think there should be, maybe it's just that it's not in the case study pdf file, cos it's quite important. Imagine of the case I have a crash on someone and want to see her help to offer to gain impression, then the friend's page is the right way for me to go :p.
Tuesday, February 2, 2010
Superpoke :-)
Yesterday lecture was actually full of good presentations. Many popular applications in facebook were examined to a great extent, many ideas were dig out, many suggestions, they are unspeakable good to me. It was a great experience for me, and for those who want to build facebook applications. CS3216 is actually a great class. Prof not only let made his students critic about facebook applications but also let them do a real one, so that they can learn from both assignments. As prof always says, 'go get you hands dirty', 'the learning is in the doing'. It's not only about judging the other applications, it's also looking back at what you've done. Truly. after the seminar, I realized that the application my group did has some critically bad points, the idea was simple but amazing, but the execution was not so successful. But leave it for later, now is the time for facebook seminar critique, Superpoke :-).
About the presentation:
-'Presentation'(performance): the teamwork was not very good. There were times the slide was ahead what Tomithy was saying, and there were times he changed the points but the slide didn't. It was a little distractive and ruining the mood. That was a bad point of having one person presenting, one person controlling the slide, the teamwork can't be perfect everytime. I prefer one person presenting and controlling the slide at the same time, and this can be even greater with the remote (truly I don't know what it is :">, it's just to control slide without being near the laptop like what Ji Wei used, amazing).
-The slide: nice, but not too easy to grasp because of the CBAA+, I spent some time wondering 'what are they' during the presentation.
-Message:
+Truly, I don't quite remember, somehow I was not good at remembering things in English, both listening and reading. The first thing I remember is that the presentation was not about the application itself, but about the idea of this application, 'poke', that it is a very potential idea.
+Indeed, the most thing I remember is that the suggestion of using this kind of application to poke 'serious, global thing' ('causes'), such as '$friend throws at you Haiti earthquake. Throw back?'. I think this is quite an interesting idea, but I think it can only work quite well for people paying attention to superpoke or regularly use them. For me, at first I can be excited about some poke my friends sent me, but I am not of the kind liking using this type of application, after some time, I will probably drop this, and for every notification containing 'superpoke', 'poke', I will just simply ignore. Sometimes having many things from the greatest to the smallest is good. Sometimes it isn't. In this particular field, I think 'causes' is quite good enough an application for that kind of activity. Superpoke is of another type, and it is different, following a successful road from some other will not always guarantee success. Superpoke should have it own way as well. Anyway, quick rethink, I think it is not impossible to implement 'causes' in 'superpoke', but how to implement it is a hard question. Facebook is not the first social network (initial idea) in the world, nor is google the first web search in the world, but what makes them so successful is the 'how'. Superpoke should adapt 'causes' in its own way, as there's some difficulties like what I mention above(people don't know what is 'causes', what is normal poke). It's not impossible, but nor is it easy. How to overcome? I have no idea. Oops. This is the new app arising, not suggestion?? how bad my memory is. Still, I don't like this things much, I think it's not very different from spreading message, one sending message to the whole friendlist and so on, through yahoo messenger, which is quite bothersome. But maybe the different is 'how' they implement such functions, I do not know for sure.
About the application:
- The functionality is quite simple indeed, and it's much like a kind of ecard I think, except that it is not too formal like ecard and has more things, more simpler but very funny things, and more functions such as war, pet as well. But still, it's not my type. Not much interest in this things, as in my opinion, it's not meaningful, it's just trivial, superficial and just for fun, entertainment. Nothing more. Not much impressions left in me after using this application. That's from user view.
- From developer's view, nothing particular about this, very simple :-). Just one thing is that the 'premium' poke (buy with money) is also included in normal poke as well, while I am almost sure I would never send such poke if I used this application. There should be a choice to hide those premium poke. Maybe this is a kind of making money :-), but I don't like it.
About the presentation:
-'Presentation'(performance): the teamwork was not very good. There were times the slide was ahead what Tomithy was saying, and there were times he changed the points but the slide didn't. It was a little distractive and ruining the mood. That was a bad point of having one person presenting, one person controlling the slide, the teamwork can't be perfect everytime. I prefer one person presenting and controlling the slide at the same time, and this can be even greater with the remote (truly I don't know what it is :">, it's just to control slide without being near the laptop like what Ji Wei used, amazing).
-The slide: nice, but not too easy to grasp because of the CBAA+, I spent some time wondering 'what are they' during the presentation.
-Message:
+Truly, I don't quite remember, somehow I was not good at remembering things in English, both listening and reading. The first thing I remember is that the presentation was not about the application itself, but about the idea of this application, 'poke', that it is a very potential idea.
+Indeed, the most thing I remember is that the suggestion of using this kind of application to poke 'serious, global thing' ('causes'), such as '$friend throws at you Haiti earthquake. Throw back?'. I think this is quite an interesting idea, but I think it can only work quite well for people paying attention to superpoke or regularly use them. For me, at first I can be excited about some poke my friends sent me, but I am not of the kind liking using this type of application, after some time, I will probably drop this, and for every notification containing 'superpoke', 'poke', I will just simply ignore. Sometimes having many things from the greatest to the smallest is good. Sometimes it isn't. In this particular field, I think 'causes' is quite good enough an application for that kind of activity. Superpoke is of another type, and it is different, following a successful road from some other will not always guarantee success. Superpoke should have it own way as well. Anyway, quick rethink, I think it is not impossible to implement 'causes' in 'superpoke', but how to implement it is a hard question. Facebook is not the first social network (initial idea) in the world, nor is google the first web search in the world, but what makes them so successful is the 'how'. Superpoke should adapt 'causes' in its own way, as there's some difficulties like what I mention above(people don't know what is 'causes', what is normal poke). It's not impossible, but nor is it easy. How to overcome? I have no idea. Oops. This is the new app arising, not suggestion?? how bad my memory is. Still, I don't like this things much, I think it's not very different from spreading message, one sending message to the whole friendlist and so on, through yahoo messenger, which is quite bothersome. But maybe the different is 'how' they implement such functions, I do not know for sure.
About the application:
- The functionality is quite simple indeed, and it's much like a kind of ecard I think, except that it is not too formal like ecard and has more things, more simpler but very funny things, and more functions such as war, pet as well. But still, it's not my type. Not much interest in this things, as in my opinion, it's not meaningful, it's just trivial, superficial and just for fun, entertainment. Nothing more. Not much impressions left in me after using this application. That's from user view.
- From developer's view, nothing particular about this, very simple :-). Just one thing is that the 'premium' poke (buy with money) is also included in normal poke as well, while I am almost sure I would never send such poke if I used this application. There should be a choice to hide those premium poke. Maybe this is a kind of making money :-), but I don't like it.
Friday, January 29, 2010
Some thoughts after first assignment (fb app)
The first week is truly a shock. I once heard that tigers push their child down the mountain so that it will climb up itself and become stronger. It's like that in this module, I think. I can remember in the first lecture, prof mentioned that in the past time, people thought that 'if you give a man a fish, he will be fed for a day. If you teach a man how to fish, he will be fed for a life', and he said that nowadays, it would be rather 'if you give a man a rod and push them to figure out how to fish, then when there is no fishes anymore, he can easily figure out other things to help his life'. Indeed, the problem he gave us was at a greatly different extent of this. In my very eyes, it would rather be prof said that 'hey you guys, there are fishes out there, take me some'. From this simple thing, problems begin to arise. There are in fact many, many kinds of fish, from the smallest fish like the Paedocypris (google lol) fish to the giant fish like sharp, whale. Together with that, there are also many kinds of fishing, using rod, gun, chemistry,...Suddenly, things become very complicated and stressful, plus the fact that the time is very tight. Programming in my opinion is very similar to the things I describe above. But actually, facing such difficult problems in life is not a bad thing at all to me, if not, it is even kind of interesting :-).
Truly, first assignment didn't go smoothly as I expected it. I did not do my job well, in programming. After the first assignment, I realize some important things in me. Firstly, I'm bad at reading, and bad at finding new things. I was there, staring at the code of the publisher, struggled for almost a whole night, before figuring out how easy it is. It is just a very simple thing, and I did take me a very long time to figure out clearly. How bad. Secondly, this module, in comparison with CS1101S, is not just much harder, it is at a completely different level. The algorithms here I think is not as hard as in CS1101S, as you don't have the feeling that even you are given more time, things are still very hard to change. The problems are very different. In CS1101S, you know what you can do, and you just need to figure out how to solve the problems with just that. It was kind of like that. In CS3216, the problems is harder, but there are a lot of them. And in this module, you don't know what you can do. Actually, now I think you can do almost everything. The problem now is divided in 2 parts, trying to find out what you can do and do with that, or figure what you 'need' to can do and find out how to do them :-). And from now, things begin too stressful. The key problem with me lies inside the process of finding information and figure out new things on my own, which I found very hard. Partly because of my bad English. Partly of my laziness of reading in English. Lastly I find it too stressful reading 'too much' words in the articles. Furthermore, examples in Maths and in Programming can be very different at times. And one important thing, I have the habit of skipping the theory part, just reading the example and take a fast look at the theory and figure out the idea. Programming is rather hard. The codes may vary from people to people. And it somewhat requires experience. And when I studied this module, I studied html, and it is linked to javascript, and then to php, them mysql, html dom,.... and many more. Other than that, trying to figure fbml, api, fql,... Too much things, so little time.
About the group work as well. My group work's is not very efficient. The programming split is not a good thing. At first I know by my instinct that the work will run more smoothly and effectively if the programming work is devided by specialization, namely one can handle all php,javascript,fbjs another handle html, fbml, css, layout, and the last handle mysql,fql,api. But still, my group divided the work by pages. By this kind, the work is slower and harder, but I think that each person can learn more in this way. Fortunately, Jonathan has this thought as well, how wonderful. Actually, at first, the programming split was very messy, we needed to ask another first whether he was working on something before doing. But after the second lecture, things become easier, although still a little blur, as knowing and doing is a different thing. But the programming division did improve after the second lecture. It's as prof said, 'the learning is in the doing', go get your hand dirty and you will figure it out and improve after some time.
Truly, first assignment didn't go smoothly as I expected it. I did not do my job well, in programming. After the first assignment, I realize some important things in me. Firstly, I'm bad at reading, and bad at finding new things. I was there, staring at the code of the publisher, struggled for almost a whole night, before figuring out how easy it is. It is just a very simple thing, and I did take me a very long time to figure out clearly. How bad. Secondly, this module, in comparison with CS1101S, is not just much harder, it is at a completely different level. The algorithms here I think is not as hard as in CS1101S, as you don't have the feeling that even you are given more time, things are still very hard to change. The problems are very different. In CS1101S, you know what you can do, and you just need to figure out how to solve the problems with just that. It was kind of like that. In CS3216, the problems is harder, but there are a lot of them. And in this module, you don't know what you can do. Actually, now I think you can do almost everything. The problem now is divided in 2 parts, trying to find out what you can do and do with that, or figure what you 'need' to can do and find out how to do them :-). And from now, things begin too stressful. The key problem with me lies inside the process of finding information and figure out new things on my own, which I found very hard. Partly because of my bad English. Partly of my laziness of reading in English. Lastly I find it too stressful reading 'too much' words in the articles. Furthermore, examples in Maths and in Programming can be very different at times. And one important thing, I have the habit of skipping the theory part, just reading the example and take a fast look at the theory and figure out the idea. Programming is rather hard. The codes may vary from people to people. And it somewhat requires experience. And when I studied this module, I studied html, and it is linked to javascript, and then to php, them mysql, html dom,.... and many more. Other than that, trying to figure fbml, api, fql,... Too much things, so little time.
About the group work as well. My group work's is not very efficient. The programming split is not a good thing. At first I know by my instinct that the work will run more smoothly and effectively if the programming work is devided by specialization, namely one can handle all php,javascript,fbjs another handle html, fbml, css, layout, and the last handle mysql,fql,api. But still, my group divided the work by pages. By this kind, the work is slower and harder, but I think that each person can learn more in this way. Fortunately, Jonathan has this thought as well, how wonderful. Actually, at first, the programming split was very messy, we needed to ask another first whether he was working on something before doing. But after the second lecture, things become easier, although still a little blur, as knowing and doing is a different thing. But the programming division did improve after the second lecture. It's as prof said, 'the learning is in the doing', go get your hand dirty and you will figure it out and improve after some time.
Monday, January 25, 2010
CS3216 Reflection after two weeks
Now I understand why everyone should take a new post for every week, cos after one week, my feeling has become very different than it was one week ago. Anyway, I think it's still enough for a new entry.
First lesson.
The lesson was indeed quite familiar. I once experience it during the last lecture in CS1101S, very meaningful, and I was very happy back then, that I was able to be in this wonderful class. Some meaningful key ideas in the lecture:
Learning is hard, but learning is fun. But one thing to remember, it it ain't hard, it ain't worth doing. Truly, I must admit. Learning seriously is never easy. It's challenging that makes people better and better. And seriously, if something is hard, it's very, very boring. When I was in high grade 12, learning in class suddenly become so boring, I think, don't quite know. But normal class, unlike Maths, didn't require much brain thinking, and to me, it's somewhat boring. But I couldn't be playing around, I must have something to do. And then I knew about NUS, and it was just a few months. And I thought: 'hey, this looks interesting, this looks hard, this seems worth doing to kill the time'. People told me that the exam is very hard, some even told me that it was impossible for me to pass the exam. But who cared, people of the same type as me, when someone tells them that something is hard, it not only don't discourage them to do but also makes them try and try harder, the harder something is, the more interesting is. I'm sick of 'normal life'. Almost all people in my high school just took the university exam in Vietnam as the first priority. I was not, I wanted to do something different, and I was sick of things that were very ordinary. Kind of like that. And my first semester here, Maths module were very boring. I finished reading and understanding and even could take a short rest before the lecturer finished explaining about a problem. Maths is like that. Idea is important, details is not. With a basic foundation of Maths, give one an idea and he can figure out the rest of the solution. Same here. Memorize the details and you can solve tens of problem, catch the idea and you can solve a thousand ones. That's the key thing that I very like in Maths, idea, is the most important thing :-). A little off topic, I was sick of Maths module, it was very boring that even I skipped lecture for the whole semester but still can score high finally. They were ways too easy. I just saw the latest final exam, and could easily figure what the final would be, what I should do. While in CS1101S, I saw the latest midterm test, anticipated how the midterm test would be, and was trapped in the real test. For practical test, a very sharp increase in the difficulty of problem 3 makes me standing there, shocked for a while. And lastly, the final test, while it took me only a little bit more than 1 hour to solve most of the final tests before, the real test, 2 hour and 15 minutes, was not enough for me to finish, and partly due to my mental, my shock. Truly, it's hard to read the evil prof's mind, but actually, it's very good to know so.
Learning how to learn. True, this is a very new idea in my opinion. Instead of giving me the answer, he show me how can I find the way to the answer. It's my prof who makes me realize how dependent I am, and how lazy I am to find out more, to be active, all the time. Those now have already become my characteristic. I had some very wonderful friends in high school. They are truly strong, very strong. And I partly rely on them very much. Hard Maths, problem? Ask them. Hard things to find out, ask them. Another example is that, I am here now, not because I seriously found out things about NUS, but I just asked a friend of mine, he suggested NUS, and some of my friends was also going to take the entrance examination to NUS, and so, I decided to take the entrance examination as well. And many many other case as well. Consequently, now I have become rather dependent, rather lazy to find out new things, to read information. However, prof has shown me very clearly about that, and now, I'm trying to change myself, to become better :-).
Execution matter. True, very true. Realized that after many things prof told about. The idea is expensive and unique, but it will become very cheap without execution I really, really think.
Second lesson.
Many interesting and useful ideas in this lecture, indeed. It's about project work. No, not about project work, it's about programming project work, which is a must in the module, and a must for me to know, to learn and to do as I had very little programming and project experience in the past. Don't know how to say or state clearly about this lecture, but it did clear my mind in many ways. My facebook application group started before this lecture, and there were many things not so smooth about the programming as well as the project. And this lecture is one solution, or one direction to solve the problem. And indeed, after the lecture, many things went easier and more smoothly than that. The lecture is about how to create an app in an efficient way, and there're something I think very important.
Programming is long term, and one efficient way is the software development life circle. The world is changing everyday, and there's no guarantee that the app can catch up with the pace of life everytime, so designing the software development in a circle to fix, mainternance, improve on the go is a must have thing.
More thinking, less coding. Think properly first, then do. This is about thinking to the most possible extent what you want you program do, and rank them, and then design and coding so that changes is easily even after a long time. Last vacation, I coded something for my friends to help them learn with the computer. At first, I only thought of a very simple idea, and simply thought that "nah, why need to think harder, it's just that, start coding now". And then, after successful coding, I realized that the UI (not exacly UI, but kind of) is very ugly, not comfortable and convenient. Also, I recognised that if I included some more functions, things will be easier and the app (not an app in fact) is of higher value, can help my friend more. But then, the fixing process was a pain, I was too lazy that I didn't even thought ahead of time, didn't create abstract barriers for the app, and also not predict that the app would have some more function. The code became more and more messy after I added some more things inside it. What a pain. Come to this lecture, I realized how important the thinking process is at the beginning. Very important. We need to think hard, list all possible functions, design for changes, ranking,... and coding is the last thing. Otherwise, the app will go boom after sometime as it cannot catch up with the speed of the modern life.
First lesson.
The lesson was indeed quite familiar. I once experience it during the last lecture in CS1101S, very meaningful, and I was very happy back then, that I was able to be in this wonderful class. Some meaningful key ideas in the lecture:
Learning is hard, but learning is fun. But one thing to remember, it it ain't hard, it ain't worth doing. Truly, I must admit. Learning seriously is never easy. It's challenging that makes people better and better. And seriously, if something is hard, it's very, very boring. When I was in high grade 12, learning in class suddenly become so boring, I think, don't quite know. But normal class, unlike Maths, didn't require much brain thinking, and to me, it's somewhat boring. But I couldn't be playing around, I must have something to do. And then I knew about NUS, and it was just a few months. And I thought: 'hey, this looks interesting, this looks hard, this seems worth doing to kill the time'. People told me that the exam is very hard, some even told me that it was impossible for me to pass the exam. But who cared, people of the same type as me, when someone tells them that something is hard, it not only don't discourage them to do but also makes them try and try harder, the harder something is, the more interesting is. I'm sick of 'normal life'. Almost all people in my high school just took the university exam in Vietnam as the first priority. I was not, I wanted to do something different, and I was sick of things that were very ordinary. Kind of like that. And my first semester here, Maths module were very boring. I finished reading and understanding and even could take a short rest before the lecturer finished explaining about a problem. Maths is like that. Idea is important, details is not. With a basic foundation of Maths, give one an idea and he can figure out the rest of the solution. Same here. Memorize the details and you can solve tens of problem, catch the idea and you can solve a thousand ones. That's the key thing that I very like in Maths, idea, is the most important thing :-). A little off topic, I was sick of Maths module, it was very boring that even I skipped lecture for the whole semester but still can score high finally. They were ways too easy. I just saw the latest final exam, and could easily figure what the final would be, what I should do. While in CS1101S, I saw the latest midterm test, anticipated how the midterm test would be, and was trapped in the real test. For practical test, a very sharp increase in the difficulty of problem 3 makes me standing there, shocked for a while. And lastly, the final test, while it took me only a little bit more than 1 hour to solve most of the final tests before, the real test, 2 hour and 15 minutes, was not enough for me to finish, and partly due to my mental, my shock. Truly, it's hard to read the evil prof's mind, but actually, it's very good to know so.
Learning how to learn. True, this is a very new idea in my opinion. Instead of giving me the answer, he show me how can I find the way to the answer. It's my prof who makes me realize how dependent I am, and how lazy I am to find out more, to be active, all the time. Those now have already become my characteristic. I had some very wonderful friends in high school. They are truly strong, very strong. And I partly rely on them very much. Hard Maths, problem? Ask them. Hard things to find out, ask them. Another example is that, I am here now, not because I seriously found out things about NUS, but I just asked a friend of mine, he suggested NUS, and some of my friends was also going to take the entrance examination to NUS, and so, I decided to take the entrance examination as well. And many many other case as well. Consequently, now I have become rather dependent, rather lazy to find out new things, to read information. However, prof has shown me very clearly about that, and now, I'm trying to change myself, to become better :-).
Execution matter. True, very true. Realized that after many things prof told about. The idea is expensive and unique, but it will become very cheap without execution I really, really think.
Second lesson.
Many interesting and useful ideas in this lecture, indeed. It's about project work. No, not about project work, it's about programming project work, which is a must in the module, and a must for me to know, to learn and to do as I had very little programming and project experience in the past. Don't know how to say or state clearly about this lecture, but it did clear my mind in many ways. My facebook application group started before this lecture, and there were many things not so smooth about the programming as well as the project. And this lecture is one solution, or one direction to solve the problem. And indeed, after the lecture, many things went easier and more smoothly than that. The lecture is about how to create an app in an efficient way, and there're something I think very important.
Programming is long term, and one efficient way is the software development life circle. The world is changing everyday, and there's no guarantee that the app can catch up with the pace of life everytime, so designing the software development in a circle to fix, mainternance, improve on the go is a must have thing.
More thinking, less coding. Think properly first, then do. This is about thinking to the most possible extent what you want you program do, and rank them, and then design and coding so that changes is easily even after a long time. Last vacation, I coded something for my friends to help them learn with the computer. At first, I only thought of a very simple idea, and simply thought that "nah, why need to think harder, it's just that, start coding now". And then, after successful coding, I realized that the UI (not exacly UI, but kind of) is very ugly, not comfortable and convenient. Also, I recognised that if I included some more functions, things will be easier and the app (not an app in fact) is of higher value, can help my friend more. But then, the fixing process was a pain, I was too lazy that I didn't even thought ahead of time, didn't create abstract barriers for the app, and also not predict that the app would have some more function. The code became more and more messy after I added some more things inside it. What a pain. Come to this lecture, I realized how important the thinking process is at the beginning. Very important. We need to think hard, list all possible functions, design for changes, ranking,... and coding is the last thing. Otherwise, the app will go boom after sometime as it cannot catch up with the speed of the modern life.
Subscribe to:
Posts (Atom)