First, I'd like to say thanks to the 33 viewers of my past two posts! I mean you guys are now my motivation to update this "SLOG"!
So if I was asked to summarize my week 5 of CSC148, I would like to say Assignment 1.
I started working on A1 on Monday Feb 3rd and completed my job on Wednesday Feb 5th after kept working 3 nights at a CS lab (I have to finish A1 before Friday because I need to save time for my 2 midterms in this coming week.)
I am co-working with two of my friends, and my job is writing all the codes while they are human debuggers and doc-string writers. To be honest, it's not easy to write all the codes and minimize the number of possible bugs, and it feels so bad to work in the lab alone at night. But, anyway, we've done and our programs work well!
In my opinion, A1 is a very good test on everything we have learned by the end of week 5. I used everything I learned from class in A1, including "different scopes", which was taught on Wed Feb 5th. As I said in former posts, I enjoy this course and coding. So it feels so good to code with the fresh techniques I learned. Recursion is a super important technique I used in A1, and I also got a better understanding of it by using it frequently.
Talking about recursion, I am also learning it in another course I am taking: CSC240. But in that course, we learn it in a more mathematical way. However, the stuff I learned from CSC240 helps me a lot in 148, and also the other way around. And this really inspired me on planning my next year's schedule. I mean right now I really understand how important math is to CS, and I have decided to take more math courses concerning about mathematical logics in the future, probably MAT309.
Plus, as I said in the post last week, I did pair up with someone in my last week's lab, and he was my first lab partner for CSC148! And working with a partner feels totally different from working alone. It's fun! Although I would not say that we are friends now (I am too shy to talk more other than lab work), we did have nice conversation and the lab went well. And my goal this week is to make new friends at class, since I realized that to some extent, computer science is always "group work", and it's super important to learn how to cooperate with your colleagues. Also, more importantly, it's so boring to work at the CS lab alone!
Well, at the end of week 5 of winter 2014, I would say so far so good.
Sunday, 9 February 2014
Sunday, 2 February 2014
Csc148 Week4: What? We've done 1/3 of the course?
I was surprised when I noticed that 4 weeks have already passed and we have done 1/3 of the semester! (If there are 12 weeks for this semester as I remember.)
For me, the past 4th week is the most difficult one compared with the other 3. We started learning recursion, which is not easy. It is something totally new to me, not like stuff we did in the first 3 weeks to which I was exposed in CSC108. To be honest, I was totally lost at class and I could not follow at all. I found it very hard for me to understand the purpose of the codes quickly and point out where should I use recursion. But, after reading the slides and the recommended online text, I found a little trick to help me get a better understanding about recursion, that is drawing the process flow diagram. So what I did was drawing the diagram corresponding to the instruction and then turning the picture into codes. Though it takes extra time, it helps me figure out where to put the recursion sentence and understand the whole operation process. And thanks to this little trick, I would say that so far recursion is not a problem for me any more.
Although it's a bit depressing that I hardly followed the lectures, there were some little delightful things. I did the lab by myself this week (I switched the lab section and most of my lab mates have already been paired up), and surprisingly, it went pretty well and I finished everything! The most beautiful point I find about programming is the time that all codes run properly and no bugs show up! Working alone is harder than having a good coding buddy, but it could bring more satisfaction if everything goes well. However, I do wish to have a coding partner for the coming lab. I am confident in my coding ability, but it's always better to make new friends!
So, at the very end of week4 (Okay right now is Sunday night), here is the question: what did I learn and what have I gained in the past 4 weeks (or the first 1/3 of the semester)?
Answer:
Useful programming techniques (Object-oriented programming, recursion, class and subclass and how to choose appropriate test cases), problem solving skills and most importantly, a better understanding towards computer science and desire to learn more about it!
For me, the past 4th week is the most difficult one compared with the other 3. We started learning recursion, which is not easy. It is something totally new to me, not like stuff we did in the first 3 weeks to which I was exposed in CSC108. To be honest, I was totally lost at class and I could not follow at all. I found it very hard for me to understand the purpose of the codes quickly and point out where should I use recursion. But, after reading the slides and the recommended online text, I found a little trick to help me get a better understanding about recursion, that is drawing the process flow diagram. So what I did was drawing the diagram corresponding to the instruction and then turning the picture into codes. Though it takes extra time, it helps me figure out where to put the recursion sentence and understand the whole operation process. And thanks to this little trick, I would say that so far recursion is not a problem for me any more.
Although it's a bit depressing that I hardly followed the lectures, there were some little delightful things. I did the lab by myself this week (I switched the lab section and most of my lab mates have already been paired up), and surprisingly, it went pretty well and I finished everything! The most beautiful point I find about programming is the time that all codes run properly and no bugs show up! Working alone is harder than having a good coding buddy, but it could bring more satisfaction if everything goes well. However, I do wish to have a coding partner for the coming lab. I am confident in my coding ability, but it's always better to make new friends!
So, at the very end of week4 (Okay right now is Sunday night), here is the question: what did I learn and what have I gained in the past 4 weeks (or the first 1/3 of the semester)?
Answer:
Useful programming techniques (Object-oriented programming, recursion, class and subclass and how to choose appropriate test cases), problem solving skills and most importantly, a better understanding towards computer science and desire to learn more about it!
Saturday, 18 January 2014
Object Oriented Programming?!
Hello, world!
It's been two weeks since the first CSC148 lecture, and so far I really enjoy this course.
In fact, I was pretty worried before the course started, because I took CSC108 last winter and I didn't really use Python after last April. However, I stopped worrying after the first week, especially after taking the "ramp-up". Luckily, I still obtain the ability to use Python, though there're things which I've forgotten or I haven't seen before, like "Wing".
The main topic for first two weeks' lectures is "Object-oriented Programming". I have to say, this topic is very interesting and I really like it. For me, a game player, object-oriented programming is like a great new game, and it feels awesome when my code works and actually solves some real problems. But, on the other hand, I did meet some problems when I was doing the first lab questions. Since it's objected-oriented programming, it requires us to manage everything. It's hard to give the overall structure or the big picture of the code, and decision-making did take us (my lab partner and I) a lot of time. However, it feels so great when we finally solved the problems. Also the lab is a good preparation for exercise 1. I did the exercise 1 after the lab, and since I got enough preparation from lab 1, it didn't take a long time to finish exercise 1.
I am also doing mathematics and statistics, I found that object-oriented programing very useful for my other courses. It's a very useful tool in solving mathematics questions, because as long as you know the way to solve the question, you can translate it into codes and then the computer will help you get the answer, which means that you can leave the tedious calculation to the computer and save a lot of time. Also, it helped me learn that how to interpret and solve real world questions. Although I have not tried to apply what I've learned in 148 to my study in statistics and mathematics, I can tell that it would be a very helpful tool in data processing and real world question solving.
So far I really like this course and enjoy learning, and everything is good.
Subscribe to:
Posts (Atom)