10 answers
Updated
829 views
What are some things that I should focus on learning before I start college as a Computer science major ?
I'm going to be starting college this fall, and I was wondering what are some math or programming topics/classes that I should take notes on during the summer
Login to comment
10 answers
Updated
Fred’s Answer
Many college curriculums don't expect you to know much. That's what college is for (in part) - to teach you.
Now, beyond that, it's still hard to advise, without knowing where you are. If you have never taken ANY programming, you may want to study something like python or java, to get a feel for things. Learning about data structures could help.
Any math class is good, but logic would be especially good. I'd even say geometry. It teaches you to take a problem and break it down into smaller and smaller components, which is exactly what you do in programming.
Of course, computer science is much broader that programming. You may want to study cyber security, or networking, or databases...
You will have time in college to decide what direction you want to focus towards, but all these would be beneficial (in my opinion) to help you be a more rounded CS person.
Now, beyond that, it's still hard to advise, without knowing where you are. If you have never taken ANY programming, you may want to study something like python or java, to get a feel for things. Learning about data structures could help.
Any math class is good, but logic would be especially good. I'd even say geometry. It teaches you to take a problem and break it down into smaller and smaller components, which is exactly what you do in programming.
Of course, computer science is much broader that programming. You may want to study cyber security, or networking, or databases...
You will have time in college to decide what direction you want to focus towards, but all these would be beneficial (in my opinion) to help you be a more rounded CS person.
Thank you, this is really helpful.
Joseph
Updated
John’s Answer
Computer science is about understanding the fundamental principles that underlie all programming languages which draw heavily from mathematics (specifically discrete mathematics and linear algebra). The coding expectations of CS students are relatively low compared to professional software engineers. There are rarely (if ever) style points given. In particular, a first-year CS student only needs to be familiar with the basics (loops, conditionals, data types). Most programs expect to have a cadre of students with little to no language knowledge and provide assistance to get up to speed. You will also be discouraged from using much of the built-in libraries since the point of the degree is to understand how make the data structures and algorithms provided by them.
As you progress through your degree, you should plan to supplement your studies by seeking internships, creating or contributing to an open source project, and diving deeper into the tools you use to complete your assignments. Finally, I highly recommend taking the compilers elective in your junior/senior year. It is a capstone class that brings together all of the CS fundamentals. I draw from the connections I made in that class on a regular basis 27 years after graduation.
Create one or more private GitHub repos for your class assignments and learn the basic processes for trunk-based development. For semester long projects, add an GH action to do a basic build of the project.
Read the Pragmatic Programmer which provides great overall advice about being a strong professional software engineer.
Contact the university career office regarding internship opportunities. No experience is too small to consider.
Expand upon assignment scope after completion to solidify the concepts learned.
Learn a text editor inside and out. I highly picking either vim or emacs.
As you progress through your degree, you should plan to supplement your studies by seeking internships, creating or contributing to an open source project, and diving deeper into the tools you use to complete your assignments. Finally, I highly recommend taking the compilers elective in your junior/senior year. It is a capstone class that brings together all of the CS fundamentals. I draw from the connections I made in that class on a regular basis 27 years after graduation.
John recommends the following next steps:
Thanks for the advice. I'll keep all of this in mind. I appreciate the checklist of important topics.
Joseph
Updated
Aimen’s Answer
Hi Joseph! One good thing about starting college as a computer science major is that they don't expect you to know how to code. They will teach you the basics and build from there. However, as someone who started college with no coding experience, I would definitely recommend studying at least one coding language before and trying to write simple programs with it. Take one coding language (preferably java or python) and try to understand the basics. This will help you in your computer science classes and make it a little easier to understand and pick up stuff. And once you know one coding language, it is easier to learn and code in new ones. Best of Luck! :)
Thank you, this is really helpful.
Joseph
Updated
Aishwarya’s Answer
Here are the key areas to focus on before starting college as a Computer Science major:
1) Programming Fundamentals: Learn the basics of a programming language like Python or Java.
2) Mathematics: Brush up on discrete math, calculus, and statistics.
3) Problem-Solving Skills: Practice logical and analytical thinking.
4) Basic Computer Operations: Understand the basics of hardware, software, and operating systems.
5) Algorithms and Data Structures: Familiarize yourself with basic concepts of algorithms and data structures.
6) Fields in Computer Science: Gain a general understanding of different specializations like artificial intelligence, cybersecurity, data science, etc.
7) Soft Skills: Work on communication, time management, and teamwork skills.
1) Programming Fundamentals: Learn the basics of a programming language like Python or Java.
2) Mathematics: Brush up on discrete math, calculus, and statistics.
3) Problem-Solving Skills: Practice logical and analytical thinking.
4) Basic Computer Operations: Understand the basics of hardware, software, and operating systems.
5) Algorithms and Data Structures: Familiarize yourself with basic concepts of algorithms and data structures.
6) Fields in Computer Science: Gain a general understanding of different specializations like artificial intelligence, cybersecurity, data science, etc.
7) Soft Skills: Work on communication, time management, and teamwork skills.
Thank you, I've already been doing a few of these, but I will definitely work on algorithms and data structures too!
Joseph
Updated
Ivan’s Answer
Hi Joseph,
As you will learn all about programming and all related skill you need in college, my advice to you would be to focus on learning about software from the user perspective. Start playing around with all the different software you encounter with and try to understand all the functionality it has. Try to think how it may work and do research around it. Learn about how software came about in the first place and why. This will help you understand what you're learning in college better.
Hope this helps and good luck!
Best,
Ivan
As you will learn all about programming and all related skill you need in college, my advice to you would be to focus on learning about software from the user perspective. Start playing around with all the different software you encounter with and try to understand all the functionality it has. Try to think how it may work and do research around it. Learn about how software came about in the first place and why. This will help you understand what you're learning in college better.
Hope this helps and good luck!
Best,
Ivan
Updated
Violaine’s Answer
Hello Joseph,
To lay a robust groundwork before embarking on your Computer Science major in college, it would be beneficial to concentrate on the following areas:
1. **Essentials of Programming**
- **Languages**: Familiarize yourself with the basic syntax and concepts of languages such as Python, Java, or C++.
- **Algorithms and Data Structures**: Gain a solid understanding of key algorithms (like sorting and searching) and data structures (such as arrays, linked lists, and trees).
. **Mathematical Knowledge**
- **Discrete Mathematics**: Dive into the study of logic, set theory, and combinatorics.
- **Linear Algebra and Calculus**: These subjects are vital for comprehending advanced Computer Science topics.
3. **Problem-Solving Abilities**
- Hone your problem-solving skills by engaging in coding challenges on platforms like LeetCode, HackerRank, or CodeSignal.
4. **Fundamental Computer Science Concepts**
- **Computer Architecture**: Get to know the workings of computers, including the basics of hardware and software.
- **Operating Systems**: Grasp the fundamentals of how operating systems manage hardware and software resources.
5. **Version Control**
- Master the use of version control systems like Git to manage and collaborate on coding projects.
6. **Introductory Web Development**
- Grasp the fundamentals of HTML, CSS, and JavaScript to create straightforward web applications.
7. **Logical and Analytical Thinking**
- Sharpen your critical thinking and logical reasoning skills through puzzles, games, or relevant coursework.
By zeroing in on these areas, you'll be perfectly equipped to face the challenges of a Computer Science major head-on.
To lay a robust groundwork before embarking on your Computer Science major in college, it would be beneficial to concentrate on the following areas:
1. **Essentials of Programming**
- **Languages**: Familiarize yourself with the basic syntax and concepts of languages such as Python, Java, or C++.
- **Algorithms and Data Structures**: Gain a solid understanding of key algorithms (like sorting and searching) and data structures (such as arrays, linked lists, and trees).
. **Mathematical Knowledge**
- **Discrete Mathematics**: Dive into the study of logic, set theory, and combinatorics.
- **Linear Algebra and Calculus**: These subjects are vital for comprehending advanced Computer Science topics.
3. **Problem-Solving Abilities**
- Hone your problem-solving skills by engaging in coding challenges on platforms like LeetCode, HackerRank, or CodeSignal.
4. **Fundamental Computer Science Concepts**
- **Computer Architecture**: Get to know the workings of computers, including the basics of hardware and software.
- **Operating Systems**: Grasp the fundamentals of how operating systems manage hardware and software resources.
5. **Version Control**
- Master the use of version control systems like Git to manage and collaborate on coding projects.
6. **Introductory Web Development**
- Grasp the fundamentals of HTML, CSS, and JavaScript to create straightforward web applications.
7. **Logical and Analytical Thinking**
- Sharpen your critical thinking and logical reasoning skills through puzzles, games, or relevant coursework.
By zeroing in on these areas, you'll be perfectly equipped to face the challenges of a Computer Science major head-on.
Your advice was so helpful!
Joseph
Updated
Shelia’s Answer
It's fantastic to see your interest in computer science! This field is a vast ocean of opportunities, with exciting areas like artificial intelligence (AI), cloud computing, robotics, data science, and cybersecurity. The fact that you've interested in learning to code is a good start. Does your high school provide any computer science courses? If so, I'd recommend giving it a shot to explore what you enjoy about it.
Also, consider expanding your horizons by participating in various math and science clubs. This will not only pique your curiosity but also help you discover what truly fascinates you. Interacting with fellow enthusiasts will offer you a plethora of perspectives and options to ponder upon. So, dive in and enjoy the journey!
Also, consider expanding your horizons by participating in various math and science clubs. This will not only pique your curiosity but also help you discover what truly fascinates you. Interacting with fellow enthusiasts will offer you a plethora of perspectives and options to ponder upon. So, dive in and enjoy the journey!
Updated
Pooja’s Answer
You are not usually expected to know something before you start the college. However, it is always good to familiarize yourself with the fundamentals. If you are really interested, you can learn a basic programming language i.e. C or JAVA . This will give some good insights into fundaments of computer engineering and also will give you some hands-on programming experience. I would recommend taking a class or certification and not learning on your own as it could get overwhelming and you wouldn't want to experience that before you start your college.
I studied Information Technology many years ago and before my college started, I took a C language class to familiarize myself with the basics. This really helped me during my college years and made learning of other programming languages easier.
I studied Information Technology many years ago and before my college started, I took a C language class to familiarize myself with the basics. This really helped me during my college years and made learning of other programming languages easier.
Thank you for taking the time to help.
Joseph
Updated
Rebecca’s Answer
Thank you for your question. I am glad to hear that you have interest in Computer Science.
Below are my suggestions:
1. Identify some simple programming languages to start first, eg Python, Scratch, etc
2. You can find the syntax and structure online. There are plenty of resources online.
3. Start doing some simple programming. Then, you can do some simple projects, eg control a toy car, robotic arm, etc
4. You can learn another one after you familiar on one language
5. Review the course syllabus before semester starts
In the course, it will give you an overview on the computing theories and programming techniques.
Hope this helps! Good Luck,!
May Almighty God bless you!
Below are my suggestions:
1. Identify some simple programming languages to start first, eg Python, Scratch, etc
2. You can find the syntax and structure online. There are plenty of resources online.
3. Start doing some simple programming. Then, you can do some simple projects, eg control a toy car, robotic arm, etc
4. You can learn another one after you familiar on one language
5. Review the course syllabus before semester starts
In the course, it will give you an overview on the computing theories and programming techniques.
Hope this helps! Good Luck,!
May Almighty God bless you!
Thanks, can't wait to put this advice into action!
Joseph
Updated
Francis’s Answer
Hey Joseph! 👋🎓 Here are some things you should focus on learning before starting your Computer Science major in college:
1. **Programming Fundamentals** 💻: Make sure you have a solid understanding of at least one programming language like Python, Java, or C++. Practice writing programs, understanding control flow, data structures, and algorithms.
2. **Math Skills** ➗✨: Brush up on your math skills, especially in areas like calculus, linear algebra, and discrete mathematics. These are essential for computer science courses.
3. **Problem-Solving Skills** 🧩: Practice breaking down complex problems into smaller parts and developing logical thinking. This will help you in coding challenges and algorithm design.
4. **Data Structures and Algorithms** 🗃️🔀: Get familiar with common data structures (arrays, linked lists, trees, etc.) and algorithms (sorting, searching, etc.). These are the building blocks of many programming concepts.
5. **Version Control** 🌳📦: Learn how to use version control systems like Git. This will be invaluable when working on projects, both in college and in the industry.
6. **Web Development** 🌐: Consider learning the basics of web development (HTML, CSS, JavaScript) as many projects and applications involve web technologies.
7. **Passion Projects** 🚀✨: Work on personal projects that excite you. This will not only help you practice your skills but also demonstrate your enthusiasm for the field.
Remember, the most important thing is to stay curious, keep practicing, and have fun! 😊🎉 College is an exciting journey, and the more you prepare, the smoother the transition will be. Wishing you all the best, Joseph! 🙌
1. **Programming Fundamentals** 💻: Make sure you have a solid understanding of at least one programming language like Python, Java, or C++. Practice writing programs, understanding control flow, data structures, and algorithms.
2. **Math Skills** ➗✨: Brush up on your math skills, especially in areas like calculus, linear algebra, and discrete mathematics. These are essential for computer science courses.
3. **Problem-Solving Skills** 🧩: Practice breaking down complex problems into smaller parts and developing logical thinking. This will help you in coding challenges and algorithm design.
4. **Data Structures and Algorithms** 🗃️🔀: Get familiar with common data structures (arrays, linked lists, trees, etc.) and algorithms (sorting, searching, etc.). These are the building blocks of many programming concepts.
5. **Version Control** 🌳📦: Learn how to use version control systems like Git. This will be invaluable when working on projects, both in college and in the industry.
6. **Web Development** 🌐: Consider learning the basics of web development (HTML, CSS, JavaScript) as many projects and applications involve web technologies.
7. **Passion Projects** 🚀✨: Work on personal projects that excite you. This will not only help you practice your skills but also demonstrate your enthusiasm for the field.
Remember, the most important thing is to stay curious, keep practicing, and have fun! 😊🎉 College is an exciting journey, and the more you prepare, the smoother the transition will be. Wishing you all the best, Joseph! 🙌
Thank you, I've been learning Web Development this summer, but I'll definitely take some extra time to get familiar with Git.
Joseph