Using an Online Learning System

The passion of  a programmer can be seen through code. A great way to get into programming is to actually start learning a computer language, be it Ruby, Javascript, Python, etc. As someone who has previous programming experience, I venture into the world of online tutorials and see if this way of teaching is adequate enough to learn from.

Using codeacademy, I learned the ways of coding in Javascript. The introduction tutorial is a great way to introduce someone into program. I found Javascript very intuitive and similar to plain-ol’ Java. The system they used to teach was based on active learning through a step-by-step process. The application asks you to type certain code and makes you see what happens and why. Though quite a fine learning tool, I find this way into Java might not be ideal as a great launching platform into programming. First, variables and primitive data types should always be discussed at length as it helps understand the inner workings of any computer language. Maybe more examples would of helped. Second, a firmer and more informative introduction to Javascript can be written to entice learners to see the benefits of Java, maybe a short video or two. Lastly, include a logger that logs all previous written code with explanations into a text document. This will enable the user to refer back to notes and confirm what they have learned.

Other than a few quirks I had, the program did a good job of teaching Javascript. I would highly recommend this to my programming friends, but would suggest other people not proficient in programming to take Java or C first.

Code Snippets (Javascript):

Confirm or Deny
> 
> confirm("Writing in Javascript is cool!")
==> true> alert("No your not!")
You've completed this section! 
Variables: Name
> lastName = "Guevarra";
==> Guevarra> myFullName = "Christian Guevarra";
==> Christian Guevarra> myFullName.length;
==> 18
Numbers and Strings
> number % 10;
==> 2> myString = "hello";
==> hello> "hello".substring(0,2);
==> he> three = "Christian".substring(0,3);
==> Chr> "coding rules".replace("coding", "programming");
==> programming rules> "codingrules".toUpperCase();
==> CODINGRULES
Arrays

var array = [1, 4, 6];
number = array[2];

==> 6

var days = [];
days[0] = “Monday”;
days[1] = “Tuesday”;
days[2] = “Wednesday”;

 

After an hour of coding in Javascript, I’m kinda digging the language. The editor makes writing in Javascript very easy and the language is similiar in many ways to the base language Java. Setting up variables and strings are the same except for some key differences such as the keyword used to create a variable “var” and the ternary operator “===” acting as a binary “==”. I would definitely would like to learn more about it and will continue to learn Javascript in my spare time.

 

Advertisements
Posted in Uncategorized | Leave a comment

Achieving Success as a CS major in UCSD

After my first few quarters as a UCSD student, a lot of strategies I learned in high school have evolved over time. The most important skill I learned the most as a UCSD student is time management. It is very important that a student at UCSD learns to prioritize his/her time because the quarter system at UCSD is fast-paced and material must be learn over a short period of ten weeks per quarter.

Time management is essential in producing great grades. It is a good idea to always keep track of all important dates and deadlines for papers, programming assignments, etc. It may seem overwhelmingly at first, but students in UCSD adjust quite well after a quarter or two. Nevertheless, always study ahead of tests and exams and try not to procrastinate. Procrastinating here in UCSD will lead you down a path of bad grades and low self-esteem.

Also, try to ask for help when you need it. Never be afraid to ask because the tutors and teaching assistants are there for you. Though every student holds a stubborn trait when trying to achieve success, we all need help. SAGE is a good place to start. So never forget that there is always someone there to help you accomplish yours goals at UCSD.

Lastly, try to find study groups for classes you think that would benefit you. Social gatherings or even having a study partner will make studying a lot more active and will help you retain and understand the material better. I learned first hand that learning others is an ideal environment for academic growth. As with all student discussions, in CS, try not to copy code from your friends. It will be breaking the Academic Dishonesty you have with UCSD and will lead to harsh repercussions. So at least try to write the program and then ask someone to look at your code. Start at the bottom and work your way to the top.

As of this blog post, I don’t know everything, but I know what I know. As I continue my studies here in UCSD, I continue learn new things everyday. Though I still procrastinate here and there, I try to make it a habit of always doing homework the day it was assigned as it gives me breathing for other projects and assignments in the future. Also, I’m still trying to learn how to LEARN basically. I’m still trying to figure out the best way to learn. Sometimes I feel that studying independently all the time isn’t the best way for me to learn. So I have started learning along side my classmates.

 

 

 

Posted in Uncategorized | Leave a comment

Delving deep into the Computer Science major at UCSD

As a first year transfer student, I was not only amazed of how much of change I saw right before my eyes, but I was left thinking, ” How will I truly succeed as a student in UCSD?”. After a major change to Computer Science, I asked myself a few questions:

1) How many classes do I still need to take to graduate?

2) What classes are needed as a new CS major?

3) What resources and websites do I look at for more information about CS?

4) What technical cluster should I take?

5) What are the lower and upper division requirements for a BS in Computer Science?

After doing some research at http://www.cse.ucsd.edu, I approached Viera Kair, one of the CSE major advisors. After our appointment, she not only help me plan on what courses to take, but when to take these courses since not every course is available every quarter.

I figured that I want to take the Software Engineering cluster as I feel for it to be beneficial in getting a job nearby. The four course I plan on taking are : CSE 112, CSE 118, CSE 125, and CSE 132A. Technical courses can by found under Undergraduate Education -> Degree Programs -> BS Computer Science -> BS Computer Science Technical Clusters.  What I want to

Not only are the CS advisors very helpful, but they also email every CSE major any opportunity worth giving a shot. For example, any CSE student in UCSD has received emails from both Viera and Pat regarding internships, jobs, workshops, etc.

For the most part, any or all information about CSE can be found at http://www.cse.ucsd.edu. This website does a terrific job of informing the student of what is expected and provides Excel worksheets to plan your schedule for future quarters accordingly. It is a wealth of information and I couldn’t think of any student or classmate that hasn’t even this site. It is easy to navigate and is constantly being updated with any change to any major. If a change does happen, an email is  sent out informing all students within any major in CSE about the change. Thus, the website is an evolving resource for both students, advisors, and professors.

After adventuring into the world of Computer Science, I feel that UCSD has done a great job of informing students in CSE  about what it takes to be successful. Announcements are always relayed through professors and students, and the CSE department does a great job of providing help by offering free tutor services from SAGE and other students. I never felt outdated  because UCSD and the CSE department make all information regarding CSE accessible at their homepage. And if any student still has questions,  setting an appointment is plain and simple. Just call and be prompt.

Oh, and one more thing, never be afraid to ask for help.

Posted in Uncategorized | Leave a comment

An Early Career Start

Experience is what most companies are looking for in a applicant. A good way to attain experience and get a good career head-start is by looking for all or any possible opportunities available to you. As a student in UCSD, I am in awe of the resources and support I get as an undergraduate student in Computer Science. UCSD is known internationally as one of the top public universities and have ranked in the top ten for the past few years. (http://www.jacobsschool.ucsd.edu/grad/facts.shtml#ranking) Of all the resources offered to us in UCSD, I will focus on three that have peeked my interest. SAGE, Students Achieving, Guiding, and Enriching Calit2’s Summer Research Program, and Global TIES (Teams in Engineering Service) provide the perfect opportunity for any student to get their feet wet in Computer Science and Engineering.

First, SAGE, Students Achieving, Guiding, and Enriching is a great way to help other students in Computer Science learn and achieve success. As quoted from their site, “students helping students” is an atmosphere you can come to love as a member of this club. Before you can apply, you must first make arrangements with the professor of the class you want the tutor. This club is volunteer-based and  tutors will teach lower division Computer Science courses. Most of the lower division classes for CS is taken within the first year or two, so a good time the apply for the club is after you have taken the lower division classes. Teaching other students is a good way to really understand and master the material you already learned. It creates and improves problem solving skills needed in future endeavors in Computer Science. (http://csesage.ucsd.edu/home/index.php/main)

Second, Global TIES (Teams in Engineering Service) is a innovative humanitarian engineering program within the Jacobs School of Engineering at UCSD. Basically, this program allows students to apply what they learned in school to the real world by designing and implementing various projects offered by non-profit organizations to help improve the lives of many people living in developing countries.

“Global TIES – Teams in Engineering Service is an innovative humanitarian engineering program of the Jacobs School of Engineering at the University of California, San Diego.  Global TIES puts multi-disciplinary teams of undergraduates to work building the dreams of not-for-profit organizations and their clients in San Diego and in developing countries around the world.  Renowned UC San Diego faculty and researchers advise the teams, and students receive course credit for their work.  Global TIES teams give students an invaluable opportunity to apply their skills in a real world setting, while learning firsthand the role that engineering and technology can play in solving the problems that face their local community and the world.  Not-for-profit organizations receive critically needed but often cost-prohibitive technical expertise to help them improve the lives of their clients.” (Quoted from http://globalties.ucsd.edu/index.html)

Students interested in getting a career head start in Computer Science will find that applying what you learned in school and working as a team will strongly improve your chances of landing a job in the future. Global TIES has a curriculum in UCSD in which students must take two courses ENG100A: Principles of Engineering and ENG100L: Team Engineering Laboratory. The first course ENG100A provides a good foundation of what it feels like to work as engineer and how team-oriented it can be. Weekly lectures in class show students the ins and outs of the design process from the verbal and written communication to the project management. The second class is where you applied what you learned from lecture into actual hands-on experience. All majors can apply.

The projects that have been actively worked on students can be found on the Global TIES page. Ranging from Transborder Communication to One Village Philipines, getting to design and implement an project is a great early career opportunity in Computer Science.

One particular project that interests me in is the Information Network -Haiti [MPHISE].  The goal of this project is to improve coordination between NGO, Non-governmental organization  on the ground in Haiti. Currently, they are trying to create a universally accessible online database that will help aid first responders and anyone who would like to contribute in areas of disaster and need. So they are creating a web application to fulfill the needs by using social devices such as email, sms(text messaging), or by the web application. I find this project to hold many key elements to Computer Science as it emphasizes the use of HTML and many critical thinking skills you learn as a programmer. Additional information can be found here: http://globalties.ucsd.edu/haiti.html .

Lastly, I want to talk about another early career opportunity in Computer Science offered in UCSD by Calit2. Calit2 focuses on research and innovation by bringing together multidisciplinary teams from all UC campuses and beyond to innovate and create new ideas in technology. To hone in on what they have to offer to undergraduate students, they hold a Summer Research Scholarship program in UCSD for undergraduates. As short description about the program:

“This program, which began the summer of 2001, provides talented undergraduates with hands-on research experience to help them better define their career goals and help them sort out what options to pursue after graduation. Students conduct 10 weeks of research under the guidance of UCSD faculty and participate in a series of meetings focused on topics of interest to them. The program typically ends with a formal scholarly poster session to in which the students present their work to their peers, advisors, and often the larger campus and industry communities.” (From http://www.calit2.net/education/ucsd/ugrad/index.php)

This is a great to apply what you learned in school and have hands-on on research-related technology. This also allows you to build up your network and learn different ways of solving a problem. The industry in Computer Science will be very wide open after such an opportunity and it will help you nail down what career goals in this profession you want to accomplish.

Also available are design courses in ECE and MAE departments with a core space for research in the Calit2 building known as the Student Design Studio.

After learning about what is offered in UCSD by the CSE department and Jacobs School of Engineering, no student should be afraid to try their hands in these valuable learning experiences. These experiences help shape and define a person and that is something no one can take away. To succeed in life, you must take risks. And with those risk, better rewards.

Posted in Uncategorized | Leave a comment

As you might know, the world in which we live in is full of technology. Ranging from cell phones to robots, technology has become embedded into everyday life because of how useful and important it can be. After jumping into the fold of the industry of technology, I aspire to one day graduate with a degree in Computer Science from UCSD, in which I’m currently attending. Though before I can take advantage and fully appreciate the major I am in, I need to see what careers are open to me. As I examine the trials and tribulations of a computer game designer and software engineer, the code of life is just a simple phrase I use to describe what this blog is suppose to do, and that is to record the musings and exploration of Computer Science and how it relates to me and the rest of the world.

Notchface.png                                     

To start with, the job of a computer game designer is that of fame and creativity. One person who is particularly breaking into the game industry is Markus Alexej Persson also known as Notch. He is computer game designer/programmer and is creator of Minecraft and owns Mojang AB in Sweden. http://www.mojang.com/notch/ Known to love coding, Notch and Mojang create games because they love it. One important thing that I learned from Notch is that you must love programming before you can make the game you want.

The job of a game designer is to design and structure a variety of genres in video games ranging from simulation, education, and strategy video games for a multitude of platforms such as computers, cellphones, consoles, and the internet.Most game designers have earned a bachelor’s degree in Computer Science, art or English. Computer languages can also be different because of how code implemenation works, but most should know C/C++ and Java programming languages. Game designers with at least three years experience typically earn $46,000 annually, on average. And with more time, they can earn up to $70,000 on average. Game designers are usually in development teams and oversee the majority of the base level decisions such as art direction, design, and story elements.(For more see: http://www.allsalarydata.com/game-designer/)

To look at another side of technology, a software engineer can easily be the most versatile and rewarding job. As with all software jobs nowadays, a bachelor’s degree in Computer Engineering, Electrical Engineering, and Computer Science is crucial to finding a job. Having a brother who works at Qualcomm as a Senior Software Engineer, he occasionally fills me in on the ins-and-outs of the software engineering world. For most of the work he does, he tells me that the bulk of programming they do is C/C++. Though he never discloses his earnings, on average, the median salary of a software engineer in the United States is $58,433(http://www1.salary.com/Software-Engineer-I-Salary.html).  He is in a team that run tests and debugs programs for cell phones and their chips. As with all programming jobs, he does share his working space with others and does sometimes work in a cubicle. The most interesting part of the job I seem to gather from our talks is that once you gather and master the C/C++ language, you can practically land a good job anywhere since a lot of the programming languages out there are derived from C/C++.

Coding is good once you understand life.

Link | Posted on by | 2 Comments

Hello world!

Welcome to WordPress.com. After you read this, you should delete and write your own post, with a new title above. Or hit Add New on the left (of the admin dashboard) to start a fresh post.

Here are some suggestions for your first post.

  1. You can find new ideas for what to blog about by reading the Daily Post.
  2. Add PressThis to your browser. It creates a new blog post for you about any interesting  page you read on the web.
  3. Make some changes to this page, and then hit preview on the right. You can always preview any post or edit it before you share it to the world.
Posted in Uncategorized | 1 Comment