First few words
Sounds like a clickbait title but it is not.
Let me repeat this important thing: There is no magical formulas or certain ways that can make you admitted to a university in US. I got the scholarship from Rice University doesn’t mean that I am better than anyone, just because I am slightly luckier.
I have been writing a lot recently both technical (coding related) and critical thinking essays (felt like I was back to the application process days…). There are 3 ways that you would make it into a CS department in a school: applying to CS department after you got admitted, declare your CS major before applying and transferring to CS department. Therefore, I decided to write this post to share my experiences and some advices for applying Computer Science as your major for US Universities.
This post would be very helpful to students trying to apply for CS – aka one of the hottest major in Vietnam – or just apply for US universities in general. Since its popularity, most students would want to go to a top Computer Science school, making it increasingly harder to apply for CS as major. If you can see in the table below, the CS admission rates in some top CS schools are critically low.
(Extracted from junilearning.com)
Therefore, in order to support students in need of help, I want to reveal some real experiences that I have gone through during my application process this year. I am also new to writing blog like this so please excuse my writing.
Let’s get right into it!! First, you can have a look at my “general” path of the last application season.
My general path
-
Grade 10: study SAT, explore some clubs and activities at school -> finish SAT by May 2018 -> Summer of grade 10: Going to programs, coming with personal project ideas, study for National Math Team.
-
Grade 11: September 2018: got into the National Math Team, October 2018: finished TOEFL, developing personal project (CLEEN) -> January 2019: finish National Contest, starting my project Cleen and create the website -> March 2019 to May 2019: recruit members for CLEEN, study and finish SAT2.
-
Summer of 2019: going to programs, do the main events of CLEEN, forming Personal Statement ideas -> October and November 2019: completing both personal statement and supplement essays, collecting the necessary documents, filling Common App and Submit Application!!
Honors and Awards
I am a math-oriented since secondary school and a math major in high school. This gives me a small edge since the number of mathematics contest (state, regional, national, international) available in Vietnam is tremendous. However, not all of these math contests should be that appealing in your resume. One post that I find really catagorized the Math contests could be found here
However, that being said, I always tried my best to be involved in any possible competitions that I was interested in, or which my friends were competing (sounds competitive huh), or the standard contests that math majors should be aware of already. Some of the competitions that I was involved in were (National Math, International Math Modelling, Hanoi Municipal Math, American Invitational Mathematics Examination, …). Remember that the most significant awards of yours should be from high school or at most grade 9 since too many competitions from early secondary school should too long ago for the Adcom to process.
So, you should always on the lookout for the contests and competitions related to your major subject at school or your intended major. It does not matter whether they are the state contests or international, they will be valuable in your profile. One of my main interest was environment so besides mathematics competitions, I was looking for competition involving new environmental ideas or youth speaking forums.
Also, there is a lot of things that can be included in your Honors and Awards section. If you are applying for a prestigious or competitive program and got selected, you should be listing it in your profile even if you can’t make it to the actual program since I know that many students in next year application season could be affected by the current pandemic Covid19 (many programs may get cancelled or postponed). Furthermore, if you are trying hard at school, you can receive some kind of scholarships (At my school Hanoi Amsterdam, there are school’s honor scholarships at the end of each semester) so you can remember this for your profile.
You might be wondering how I got into CS department of Rice University with few honors or awards related to CS. Well, we would discuss that later in the post so stay tuned!
Setting an early path for yourself
This doesn’t mean that if you start or change your mind late about studying in the US, you will fail or anything. However, if you have the chance, you should set an early route for yourself: When will you be studying for standardized tests, when will you be studying at schools, when will you spend time doing EXCAs (Extra curricular activities), when will you be doing the competitions, when will be the essays, when will be the time for resting (if there is such kind of thing …). Just kidding, all of these might not be as crystal-clear right at first but you should always envision a path in your mind.
One thing to note is that you should divide your path into different sections (an example is above), and once you finished a section, you can get rid of it from your head and focus on other stuffs. For example, you should try to finish your standard tests (SAT/ACT -> TOEFL/IELTS -> SAT2) as soon as possible so that you may concentrate on your EXCAs instead.
I was lucky that I finished my SAT quite early (at the end of my 10th grade) since I was spending all my time in grade 10 to study (Not really a recommended thing since you should be balancing your time studying and exploring different clubs at school). I finished my TOEFL just about the time I got into the National Mathematics Team and after the National Math, I finished my SAT2 (at the end of my 11th grade) and spend my 11th grade summer for extracurricular activities so I think I did a good job on drawing a good path for myself.
Standardized Tests
Despite the fact that these tests are not the determining factor in your application anymore, I think that this only applies to students getting a high score. These tests are a way to show the Adcom that you actually studied for them.
For the standardize test, I recommend learning by dividing into 2 phases. My first phase was when I was getting to know SAT, TOEFL.
SAT:
-
Phase 1: I would try to read literature and history passages (since they are my biggest fear) as much as I can. I went to some extra classes but not too intensive at this moment. And you SHOULD NOT do too much real tests since they would run out by the time you need to study intensively. Don’t worry if you don’t get a high score at this time because it is common for most people to struggle at this stage. And remember to write and learn by heart as many SAT words as possible. I have a strategy to write the meaning of a new word as another new word so that you can learn more words at a time (since many SAT words are kind of synonyms)
-
Phase 2: study intensively. I would read multiple critical passages and note down my mistakes after each mock test (take this as many as you can and reflect on your score progress). At this stage, I began to do more real tests from the College Board. And you should make sure that your math score is always high (since to get max score in Math you only need to be careful without knowing too much).
TOEFL:
- I would do the same as above but remember that you should always practice toefl on your computer so that you can be familiar with taking the test online. And before taking the real test, you should have some days clearing your voice and practice intensive speaking (since this is the disadvantaged part of most Vietnamese student).
- I used to learn 54 TPOs on these 3 websites but I don’t know if they are still available
(Toefl.kmf, Top.zhan, langlib)
Extracurricular Activities and More about Computer Science
OKAYYY!! It’s time for that part that you came here to read. One thing I like to mention is that I am writing this section not in the perspective of an Informatics major but of a computer science applicant.
According to CS ranking (a page that ranks CS departments in universities), there is a number of explorable fields of CS in Vietnam. You can learn some of them and do related projects:
- Software engineering
- Programming languages
- Algorithms and complexity
- Economics and Computations
- Human-Computer interaction
- Robotics
- Machine learning & data mining, Artificial intelligence
Don’t be overwhelmed, I am just listing out. I will go into some details right now.
Of course, learning about CS should start with basic programming. In the past, I participated in a summer programming course in Mr. Phuong’s in HUS and was given books on basic programming materials to learn. The first languages I learnt were C and C ++.
You can choose one programming language that you feel most familiar with. It can be javascript, or java or python to start getting familiar with programming syntaxs. There are multiple of different sources you can learn online (tutorialspoint, we3school) and some cool websites for practicing algorithms: https://www.geeksforgeeks.org/, https://www.hackerrank.com/, https://leetcode.com/
Once you have understood the basics, there are 4 directions that I think can be applicable in Vietnam (you can choose more than 1):
- Continue to learn more advanced programming algorithms so that you can take the city or the national team. If you enter the team, you will learn a lot more advanced knowledge about algorithms.
- Can learn statistics and code about Python and R to learn machine learning or learn advanced math to learn about artificial intelligence.
- Can learn programming in robotics and participate in a number of contests such as WRO, First Robotics Competition (FRC of the GART team from Hanoi Amsterdam), First Lego League
- Can explore other industries in CS such as web-developer, app-developer
So, lets dive into these 4 directions and what you can do for your extracurricular activities:
Direction 1: Only follow this direction if you feel you can learn and enter the national team or the international team (these are experiences that I learnt from my best friend who is in the national team of informatics)
- There are many self-help books such as specialized textbooks, programming algorithms (Le Minh Hoang) or Introduction to Algorithms.
- After that you can go to the pages listed above, especially codeforce to practice and increase your level
- Join forums like VNOI on facebook or practice in websites such as codeforce (this should be familiar to most students taking this direction)
- In addition to the national or international examinations, you can take examinations such as ACM, ICPC or the Northern coastal examination, google codejam, top coder, AT coder or IOM exam of Russia
- Learn algorithm courses on coursera (there is a course of princeton free which is quite complete https://www.coursera.org/learn/algorithms-part1, https://www.coursera.org/learn/algorithms-part2)
Direction 2: In this direction, it is currently very popular in Vietnam and there are many projects that can be implemented if followed.
- A number of free Harvard courses you can find the link in here
- An extremely popular Stanford course on machine learning and artificial intelligence by Andrew Nguyen, if you can you should take for $ 79 for a certificate this course
- Should learn and participate in 1 of 2 (or both) Massp AI summer camps or PiMA the Mathematics of Machine Learning (in terms of difficulty, I think PiMA is more difficult than Massp)
- There is another summer camp but much harder is Southest Asia Machine Learning School (tps: //www.seamls.ai)
- This is a Playlist of basic concepts in machine learning Here. You can read the blog of PiMA summer camp
- Since the nature of this field is really difficult, one good path to follow is to find a mentor that can help you go through all the knowledge and basics to build or rebuild a simple Machine Learning product (could be anything from voice recognition to image filtering). This mentor could be a person from the camps that I listed above or one of your teachers. I used to go to AI Academy Vietnam and they had great teachers there.
Direction 3: This direction will be mainly towards the famous competitions in Vietnam for robots for high school students such as World Robot Olympiad, First Robotics Competition, First Lego League or patent exams.
- You can buy the Lego Mindstorm Education core set (about 15 million) and watch the tutorial online and explore this type of coding.
- Normally, if you want to study robots, you should aim for some specific exams, for example, to study for the World Robot Olympiad, you can take a look at the courses of Mr. Nguyen Tien Phong Stem or TEKY (if in Hanoi) and in Ho Chi Minh City, Vietrobot. Education.
- You can join the robotics club at school or even start one. It is up to you.
- I learnt about Java Object Oriented (Programming with Mosh on Youtube and at the robotics club at my school) as well as Lego Mindstorm EV3. There are many other types of coding that can be included while handling robotics so I will not go into the details here.
- Lastly, robotics designs are highly valued in invention competitions so what you can do is pay attention to some competitions at International Federation of Inventors’ Associations (IFIA) and maybe form a team and compete in one of these competitions.
Direction 4: This is the main direction that I chose for myself and it has proven its efficiency at least during my application process. This direction is characterized by still learning average algorithms but focusing more about web app programming to create real products that can be associated with extra-curricular activities.
The thing that I was confident about my profile was that I was able to connect my interests and majors together. For example, I was the president of an environmental club so seeing that many clubs and organizations nowadays have super awesome websites, I tried to build my own website from front to backend. This not only enabled me to expand my organization and spread my influences to more people but also showed that I was able to use my coding knowledge to build a product.
Therefore, you should try to learn how to create your website (if you don’t want to code everything like I did), you can always use famous tools like Wixsite, Wordpress or Squarespace and try to integrate this website in whatever extra curricular activities you are doing. Moreover, if you can’t create a product, you can help or support in developing a full product. Personally, I used to create my first website using python flask, javascript, html, css and tried to learn new ways to create website (you can check out the M.E.R.N stack in my last post).
Last but not least, software or applications products are highly valued in different inventions or sciences or entrepreneur activities or contests. Thus, you should always check out for entrepreneurial or inventions competition and kick up with your own idea for an application (things like Conrad Challenge, Google Science Fair, LaunchX).
Regularly pay attention to some events that Big4 or big organizations such as Google Codein and participate in trying to get cert and experience. Or join programming events or clubs at your high schools (I can recommend Shecodes, Vietcode, Algoventure).
It’s important to find yourself a mentor (if possible) and make your own personal code projects that can be anything that applies to what you’ve learned: blog, news web, weather app, film store, etc just be able to apply your hobby to reality.
One important thing you should have in your profile is leadership. The Adcom always seek to search for this characteristic since they always find potential future leaders and organizers, and if you possess that talent in high school, your profile would be more valuable. This is not to say that you should have dozens of leadership projects that go nowhere. You should focus on a few major personal projects, commit and develop the most out of them.
One last thing I want to include is that it is really advantageous for an engineering or heavily STEM student like me to have EXCAs related to charity or social work. Thus, if you are applying for CS, you should consider looking and participating in more social and volunteer work or find international programs that are related to these things. I used to apply to UWC (summer camp) and Asia Pacific Youth Week and were speaker in some activities.
WOW if you are still reading at this point, it means that this blog should be quite interesting to you right 😊.
Essays (Personal Statement and Supplemental Essays)
Personal Statement
I cannot stress the importance of these essays to your profile enough since they can add up to about 40% chance of success in your application. I am a moderate writer (not that good tbh as you can see in this post) but that doesn’t mean I cannot have good essays. There are a few good points that you should keep in mind.
Essays about computer science itself are either not that interesting or repetitive (means that that topic was already written before). This is true because since many many students are trying to apply to CS departments, the Adcom should have already read most of the possible topics if you are just writing about computer science. Therefore, I recommend doing this only if you can either take another interest of yours and combine it with CS or have a super cool and unique way to approach computer science.
One thing I did is that I always brought a pen and a notebook (could be from your phone) and noted down my experience along the way of every programs and trips that I went to. I think this is a good practice to remember your feelings, observations and experiences to use later on. And since the main topic of your PS could be changed any second, reviewing these notes should be quite useful in choosing the best topic for your essay.
Your essay should be something unique about you, your journey or your background. I know many people would want to read books such as 50 Successful Stanford/Harvard Application Essays and things like that, but it is not that beneficial. It’s true that you can have a glimpse of how a good essay might look like but what you should take away are how the words were chosen, how the sentences are organized in way that they can shine in 650 words, how the stories were told, … but not the main topic or content itself. Remember that the adcoms have been doing their jobs for years and detecting plagiarism in your essay shouldn’t be difficult.
Hence, all in all, what you should do is:
- Try to collect ideas from your experiences, your past, your background or your field trips and programs
- Write as many extensive drafts as possible for these ideas and choose the best one later
- Try to redevelop and reorganize structures, sentences, words and try to add personal examples or anecdotes
- Let somebody else read and review your essay (could be your counselor or your teachers or anyone) to ensure that you will have an objective view of your essay
Supplemental Essays
Remember that I told you that you shouldn’t add CS to your PS, well this is the place that you should add it. These essays should be written even if they are optional or not.
Many schools should have questions like
“Why do you want to go to this school?”,
“Why did you choose this as your major?”
“What are your academic strengths?” “What is your extracurricular background?”, …
and paraphrased versions of these questions
This is a great place to go into details in your CS profiles. However, instead of focusing on your CS skills (which you should have already listed in your resume), you should be focusing on how you can apply those skills in that university. It can be courses that you want to enroll, EXCAs that you want to take part, professors you like to meet, programs that you are interested in or even things that you want to build for the community there. Sometimes you can go to discussions forums such as Quora, Reddit, College Confidential to find out more about the schools and read past students’ comments and reviews.
Assuming that you are going to apply for a lot of schools, recycling your essays is inevitable. Recycling means that you take the structure of one of your written and edited essays and wrote another one with the similar question topic to another school and change the information respectively. Thus, you should prepare different wording versions of your essays (150, 200, 250, 350, …) based on the word limit of each school.
Lastly, don’t be lazy not applying to multiple schools. Each time you go online and collect information about a school that you are interested in is a time you strengthen your research skills. Furthermore, many schools have very intrigue supplemental questions so it’s a good chance to practice creating drafts of your ideas and sharpen your writing skills.
Choosing your school
This is a broad topic and it’s very hard to narrow it down but I will try to give you as much insights as possible.
In general, if you are picking a school to major Computer Science, you might want to take a look at this ranking list on Usnews. Even though this is for graduate school, the undergraduate CS department is still applicable. There are some other ranking lists that might be helpful on Niche and CollegeChoice. However, these lists just merely give you a sense of what are good CS schools. This is because there are many schools that have great and rigid CS curriculum but have a low overall ranking – the ranking you see on usnews is based on many factors – and these schools are usually ignored by parents and students (don’t know why overall ranking is so highly valued).
Once you have added some schools to your lists, what you should do next is to check the cost, tuition and fees of that school. Many schools at the top of your list (which I know that some will be eager to pick) might be public schools and their financial aid is very limited to international students. Many schools will just pass your application, defer or waitlist it if you can pay less than what they require. From my experience, I would consider a 20k/year contribution is relatively low compared to the general amount Vietnamese students are willing to pay. So before locking in any schools, you need to discuss very carefully with your family about your family contributions per year and finally make a call.
Another good habit is that you should research the each of your chosen school CS curriculum. Most schools should have a BA or BS degree in Computer Science and the required classes and credits should be included in their websites. That’s where you should take a look at those courses path and see what you want to study the most. For example, in my school, Rice University, the BS course includes probability of data science, algorithms, programming languages, object-oriented programming, computer system, game design… Understanding what is in the courses of the school would help you determine your wanted school easier.
And the last thing I noticed is that the higher CS ranking the school is, the harder it is for you to get admitted majoring CS. This is obvious because these schools are either not want to take more CS international students or requiring a superb CS profile and character. So, you should choose your school carefully based on the mentioned aspects.
Preparing necessary documents
When applying to US colleges, you will need to prepare a lot of documents. I will list some of the major down here but there could be more based on the school that you are applying to. You should all be preparing these early (2-3 months before submitting your application) to avoid unwanted situations such as not getting enough documents by the deadline. All of these documents should be scanned and upload wherever necessary.
Your high school grade (transcripts)
These are your GPAs at school from grade 9 to grade 11 (for ED applicants) and the first semester of grade 12 (for RD applicants) aggregated into 1 file. You should constantly check out for your grades at school and try to maintain an increasing GPA from grade 9 to 11. For example, in my school Hanoi Amsterdam, getting the transcript might take up to a week or more, so I would get them signed ahead to avoid rushing. Also, you should make sure that your transcripts are the same forms as the peers from your school.
Your certificates
This might seem weird since during the application process, you don’t really need to submit your certificates of competitions or EXCAs. However, when applying to CS, you will go through a lot of programs or online courses (such as on Coursera) and these courses will give you certificates up on completion and you can attach some of these to your resume. Therefore, it is not an unnecessary practice to scan your certificates every time you have them and store them in your phone or computer.
Your resume and portfolio
Resume
This is optional still I recommend you having one. Your resume should be the place where you insert your most standout honors, awards, programs, activities, writings, researches, or self-development, skills, talents and hobbies. Seems a lot right! Well, you don’t need to include all of those as they are just my suggestions. When you are applying for CS, you might want to consider linking some of your products in the resume (maybe link to a website, or to a google file). Even though that you usually they would print the resume out and read them, it would be helpful if you can show some kind of authority over your products. And the resume is normally 2 pages long so you need to choose your activities to show that you are not only a heavily STEM-oriented student but a well-rounded student as well.
Portfolio
For CS majors, this can be a thing that sums up your professional development in programming or coding. It can be anything from a video to a personal website page (this is the most common I think).This is a great method for you to show more about your specific skillset for the hobbies or majors that you intended.
Common App and Coalition App
These are 2 platforms that allow you to submit your application to multiple US universities and colleges. Common App might be more popular and more university accepts this platform.
It is important that you filled out all the information in the Common App (there is a lot so it might take even a few days) and you should be constantly checking and updating information here too. Furthermore, adding your intended schools to the Dashboard would help you figure out the specific requirements and deadline of each school and help you keep track of them. There is a maximum of 20 schools in the Common App so if you cannot apply to all the schools you want you can add a Coalition App.
Financial Documents
When I was applying to Rice, there are 5 main things I need to prepare.
• Parents’ salary in the last year both before and after taxed.
• Family’s savings certification
• IDOC income statement of me
• IDOC income statement of my parents
• CSS profile
The first 2 things are quite obvious. In order to process your financial aid package, the school needs to know your family’s annual income and savings and decide whether it is suitable or not. The IDOC(Institutional Documentation Service) provides more information on your non-taxed family income, which not all schools required. The last thing is that you need to fill out, if your school requires it, your CSS profile, which contains all kinds of sources of your income and the exact spending per year, …etc.
Letters of Recommendations
These also varies among the schools but usually (this is my case) when applying to CS or engineering, you should have at least 4 recommendations letters: one from your form teacher, 2 subject teachers at school (I would recommend having a least 1 social subject) and one from your advisor (could be any teacher, college access counselor, employer, research mentor, …)
One thing to notice is that these letters and the transcripts that I have mentioned above must be submitted directly from the teacher common app account.
Internships
This is actually a very impactful part of an application for CS majors. When studying computer science, it is important that you work in groups and show out your collaborative skills to build a complete product. Therefore, internships at real technologies companies could really reveal that you not only a student but you have also worked in a professional environment and you can work as a team. It will also show that your skills are recognized and valued by some companies just by passing the internship tests.
You don’t need to find a top tech company and try to do internship there for 1 or 2 days and quit. It can be anywhere authorized in CS. What you need is the commitment to that internship maybe 1 to 6 months, showing that you have developed quality skills and helped created some cool products.
Interview
This is actually the part that I am most confident in my application profile. Some schools have optional interviews other have required ones. However, if you have the chance to be in an interview and you are confident with your speaking ability, you should definitely take it. It is really beneficial and advantageous for students interviewing since the adcom gets to see us both in words (your application profile) and in real-life (by talking to you). So here are a few tips for interviewing for universities (these are the things that I have applied to my interview):
- You need to make and remember (if you can) a listof your main attributes, characteristics, activities, honors that you want them to know. They are not going to ask you all the questions you wanted so you need to incorporate these attributes while you are answer and you should miss none.
- Once you have received an email of your interview, you should already have the interviewer name, contacts, specialization, current jobs and interested areas. You can use this information to search out their profiles online on pages like LinkedIn, Facebook, Twitter, … and see what are they interested in. Note down a few key points and try to connect some of these things to your conversation
- Sometimes, the interviewer might not have your resume so you can expect them to ask both specialized questions related to your profile and general questions. For example, since my interviewer was also major in computer science and she was also a science enthusiast, I got a lot of technical questions relating to some of the coding products that I created and detailed question concerning my research project.
- Don’t put too much pressure on yourself and just relax and consider it as a normal conversation. Both you and the interviewer would be much more satisfied if 2 people are just like chatting.
- You want to specifically and clearly mention your intended major and your goals in your years in college and after that if possible.
- Prepare some questions to ask the interviewer at the end. This makes the interview 2-sided and more like a normal conversation (back and forth talking) Questions such as what is the life there, or what unique experiences I can have show that you actually care about the school and the surrounding environments.
- Lastly, carefully setting up your backgrounds. Remember all those days that you were playing online games and got disconnected. Well make sure that doesn’t happen. Get yourself the top speed 3g, 4g or 5g, … or whatever internet you can find that is stable. And leave your phone out of your interviewing room since you don’t want any interruptions.
Maintain your spirit
In the stressful time, especially during the intensive time of an application season, everyone will at some time feel so tired, so taken down, so strained out. But it is important to surround yourself with the people that always support you and maintain a good poise and temper. Sometimes, you just gotta rest and spend some time relaxing yourself maybe going out, enjoying movies, … Don’t care too much about other people’s profiles but stay focused on finishing yours.
I was so lucky that I was always accompanied and supported by my family, my mother, my father and my brother. Thanks to all people that have been with me during last intensive year. There are many good friends that I have in my group at my class that always support me and we usually hang out for lunch after school to relieve the tension. There is my squad that always give each other compliments even if we were competing against each other. There is my girlfriend and my “catalyst” who cheered me up and always assured me in the most intense time during the application season which is the October and November just before I submitted my documents. Without these people, I would have never achieved what I have done today.
ENDING
So as I have said in the beginning, there are no magical formulas that can assure you a spot in a US University but there are always quantitative things during the application process that might help you get an edge. One thing I believe in is that
Even though the application process somewhat depends on luck, you can dramatically increase your luck by constantly working harder.
I hope that this post has given you some insight of the application process of US University in general and of CS students in specific. If you find this post helpful, please share it and follow my blog (this website) for more cool and informative posts !!
If you like this blog or find it useful for you, you are welcome to leave a comment. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you so much!