5 answers
Asked
523 views
what should I be prepared for when it comes to getting my computer science bachelors?
I am trying to be a Senior/Staff backend Software Engineer
Login to comment
5 answers
Updated
Rebecca’s Answer
Thank you for your question. I am glad to hear that you have interest in Computer Science. In fact, there are many related careers, e.g. Web Developer, Apps Developer, ERP developer, Application Support, System Administrator, etc. Each of these have the specific domain knowledge. However, I suggest you can start learning some programming first.
Below are my suggestions :
1. Identify a simple programming language to start first, e.g. scratch, Python, etc.?
2. Find out the syntax and structure online. Start doing some simple programming and projects ,e.g. control a toy car or robotic arm, etc.
3. Attend the information session hosts by Computer Science department of colleges. Speak to the professor and alumni if possible.
4. Identify the colleges you have interest and find out the entry criteria
5. Work hard on your academic to meet the entry criteria
Hope this helps! Good Luck!
Almighty God bless you!
Below are my suggestions :
1. Identify a simple programming language to start first, e.g. scratch, Python, etc.?
2. Find out the syntax and structure online. Start doing some simple programming and projects ,e.g. control a toy car or robotic arm, etc.
3. Attend the information session hosts by Computer Science department of colleges. Speak to the professor and alumni if possible.
4. Identify the colleges you have interest and find out the entry criteria
5. Work hard on your academic to meet the entry criteria
Hope this helps! Good Luck!
Almighty God bless you!
Thank you for giving me advice.
Taylor
Updated
Vimit’s Answer
Embarking on a bachelor's degree in computer science is an exciting journey, filled with opportunities and rewards.
Here's a roadmap to help you navigate this adventure-
Academic Readiness
Mathematics: Build a robust foundation in mathematics, covering calculus, linear algebra, probability, and discrete mathematics.
Programming: Master a variety of programming languages (like Python, Java, C++) and gain a deep understanding of data structures and algorithms.
Theory: Acquire knowledge of computer science theory, including computational theory, automata theory, and complexity theory.
Systems: Grasp the intricacies of computer architecture, operating systems, and networking.
Software Development: Familiarize yourself with software engineering principles, version control systems, and development methodologies.
Specialized Courses: Explore courses in databases, artificial intelligence, machine learning, cybersecurity, and other specialized areas.
Skills Enhancement
Problem-Solving: Develop sharp analytical and problem-solving skills.
Critical Thinking: Cultivate the ability to think critically and systematically approach problems.
Communication: Hone your written and verbal communication skills for effective collaboration and documentation.
Teamwork: Learn to work efficiently in teams and contribute to group projects.
Time Management: Master the art of time management and organization to manage coursework and projects.
Practical Exposure
Projects: Dive into personal or academic projects to apply your theoretical knowledge practically.
Internships: Gain invaluable real-world experience through internships or co-op programs.
Competitions: Take part in coding competitions, hackathons, and other extracurricular activities to refine your skills.
Research: If inclined, seize opportunities to work on research projects with faculty.
Support and Resources
Mentorship: Find mentors among faculty, alumni, and industry professionals.
Networking: Forge connections with peers, professors, and industry contacts.
Clubs and Organizations: Join computer science-related clubs and professional organizations.
Personal Traits
Curiosity: Stay inquisitive and keep abreast of the latest trends and technologies in computer science.
Resilience: Be ready to face and surmount challenges and setbacks.
Adaptability: Be receptive to learning new technologies and adapting to changes in the field.
Ethics: Recognize and uphold ethical considerations in computing.
Career Readiness
Resume and Portfolio: Craft a compelling resume and portfolio showcasing your projects and skills.
Job Search: Gear up for job searches, including practicing for technical interviews and developing a professional online presence (like LinkedIn, GitHub).
Continuing Education: Contemplate the prospect of pursuing further education or certifications to stay ahead in the field.
By equipping yourself in these areas, you're setting yourself up for success in your computer science bachelor's program and beyond.
Here's a roadmap to help you navigate this adventure-
Academic Readiness
Mathematics: Build a robust foundation in mathematics, covering calculus, linear algebra, probability, and discrete mathematics.
Programming: Master a variety of programming languages (like Python, Java, C++) and gain a deep understanding of data structures and algorithms.
Theory: Acquire knowledge of computer science theory, including computational theory, automata theory, and complexity theory.
Systems: Grasp the intricacies of computer architecture, operating systems, and networking.
Software Development: Familiarize yourself with software engineering principles, version control systems, and development methodologies.
Specialized Courses: Explore courses in databases, artificial intelligence, machine learning, cybersecurity, and other specialized areas.
Skills Enhancement
Problem-Solving: Develop sharp analytical and problem-solving skills.
Critical Thinking: Cultivate the ability to think critically and systematically approach problems.
Communication: Hone your written and verbal communication skills for effective collaboration and documentation.
Teamwork: Learn to work efficiently in teams and contribute to group projects.
Time Management: Master the art of time management and organization to manage coursework and projects.
Practical Exposure
Projects: Dive into personal or academic projects to apply your theoretical knowledge practically.
Internships: Gain invaluable real-world experience through internships or co-op programs.
Competitions: Take part in coding competitions, hackathons, and other extracurricular activities to refine your skills.
Research: If inclined, seize opportunities to work on research projects with faculty.
Support and Resources
Mentorship: Find mentors among faculty, alumni, and industry professionals.
Networking: Forge connections with peers, professors, and industry contacts.
Clubs and Organizations: Join computer science-related clubs and professional organizations.
Personal Traits
Curiosity: Stay inquisitive and keep abreast of the latest trends and technologies in computer science.
Resilience: Be ready to face and surmount challenges and setbacks.
Adaptability: Be receptive to learning new technologies and adapting to changes in the field.
Ethics: Recognize and uphold ethical considerations in computing.
Career Readiness
Resume and Portfolio: Craft a compelling resume and portfolio showcasing your projects and skills.
Job Search: Gear up for job searches, including practicing for technical interviews and developing a professional online presence (like LinkedIn, GitHub).
Continuing Education: Contemplate the prospect of pursuing further education or certifications to stay ahead in the field.
By equipping yourself in these areas, you're setting yourself up for success in your computer science bachelor's program and beyond.
Updated
Daniil’s Answer
Always be ready to hit the books beyond your classroom hours. While your classes offer you a solid foundation of theoretical knowledge, they might not provide enough hands-on experience, particularly about the latest industry trends and cutting-edge technology. Therefore, it's crucial to undertake side projects. These will help you sharpen your skills and familiarize yourself with tools that are popular in the industry.
Furthermore, get involved in hackathons, delve into research, and compete in coding competitions. Join professional clubs on campus. These activities not only boost your practical knowledge but also expand your network and open up opportunities.
Furthermore, get involved in hackathons, delve into research, and compete in coding competitions. Join professional clubs on campus. These activities not only boost your practical knowledge but also expand your network and open up opportunities.
Updated
Anika’s Answer
Hi Taylor!
I’m currently a rising senior in college for my Bachelors in computer science. The major definitely comes with its challenges and rewards in fair share, but I’m glad that you’re pursuing this career path! Here are a few things I have learned throughout my experiences so far:
- Computer science isn’t all just coding. Yes, coding is a big portion and has its challenges and fun in itself, but there are a variety of topics that computer science encompasses that most colleges keep as mandated classes. This includes data structures and algorithms, discrete mathematics, advanced math such as matrix algebra or linear algebra, hardware and computer architecture, etc. You’re learning as much about the logic behind algorithms as much as you are coding them. You are learning as much about how computers work and why they work as much as you are actually using them.
- Self-learning goes a long way. Of course, depend on course material and office hours of your professor to deepen your understanding and clarify your understanding, as well as attend TA office hours to get the most out of your resources. But, a lot of getting the hang of computer science and coding in general is just practice, which professors can’t really instill for you. Make it a habit when you can and be curious with coding, even if it’s using algorithms you haven’t learned yet! Trying leads to learning. Leetcode is a great source for this, since it offers problems with varying difficulties and sorts their problems with different data structures involved as well, and shows solutions from others in several different languages.
- Internship season is rough. There isn’t much sugarcoating it unfortunately, since applying to software engineering internships is probably the most competitive and rigorous processes I’ve experienced so far. My advice for this is pretty elementary: just keep applying. Give it your all and apply to anything that has even a bit of your interests, and if rejections come your way, try your best to shrug it off and keep applying. Things will work out eventually, and the only way is forward.
I would definitely say computer science is a challenging route to go down, but I would do it all again given the chance. The learning experience is truly eye opening and beyond interesting, and opens you to countless opportunities.
I’m currently a rising senior in college for my Bachelors in computer science. The major definitely comes with its challenges and rewards in fair share, but I’m glad that you’re pursuing this career path! Here are a few things I have learned throughout my experiences so far:
- Computer science isn’t all just coding. Yes, coding is a big portion and has its challenges and fun in itself, but there are a variety of topics that computer science encompasses that most colleges keep as mandated classes. This includes data structures and algorithms, discrete mathematics, advanced math such as matrix algebra or linear algebra, hardware and computer architecture, etc. You’re learning as much about the logic behind algorithms as much as you are coding them. You are learning as much about how computers work and why they work as much as you are actually using them.
- Self-learning goes a long way. Of course, depend on course material and office hours of your professor to deepen your understanding and clarify your understanding, as well as attend TA office hours to get the most out of your resources. But, a lot of getting the hang of computer science and coding in general is just practice, which professors can’t really instill for you. Make it a habit when you can and be curious with coding, even if it’s using algorithms you haven’t learned yet! Trying leads to learning. Leetcode is a great source for this, since it offers problems with varying difficulties and sorts their problems with different data structures involved as well, and shows solutions from others in several different languages.
- Internship season is rough. There isn’t much sugarcoating it unfortunately, since applying to software engineering internships is probably the most competitive and rigorous processes I’ve experienced so far. My advice for this is pretty elementary: just keep applying. Give it your all and apply to anything that has even a bit of your interests, and if rejections come your way, try your best to shrug it off and keep applying. Things will work out eventually, and the only way is forward.
I would definitely say computer science is a challenging route to go down, but I would do it all again given the chance. The learning experience is truly eye opening and beyond interesting, and opens you to countless opportunities.
Thanks for the help.
Taylor
Updated
Marco’s Answer
Hi Taylor. A couple of thoughts.
The title of Senior or Staff backend Software engineer is specific in a few ways.
1. Senior and Staff are meant for veterans, with enough experience and knowledge to be considered quite good. It is good to set your goals to want to be at an elevated role. The career progression may also include titles such as Principal, and the words may mean different levels at different companies.
2. Specifying backend suggests your interest is in internals more than the user interface. Those are really neat problems.
I suggest a few things:
1. Do your best and study the basics as part of your curriculum. This helps you establish common understanding with other similarly trained professionals. Think of how professional basketball players all learn the same drills and basics.
2. Find some interesting problems to solve. This parts relies on your self-motivation.
3. Accept we all make mistakes. Sometimes it is a typo, sometimes we write the software incorrectly. Best to see it, accept it, and then move on.
Never stop learning.
Good luck out there.
The title of Senior or Staff backend Software engineer is specific in a few ways.
1. Senior and Staff are meant for veterans, with enough experience and knowledge to be considered quite good. It is good to set your goals to want to be at an elevated role. The career progression may also include titles such as Principal, and the words may mean different levels at different companies.
2. Specifying backend suggests your interest is in internals more than the user interface. Those are really neat problems.
I suggest a few things:
1. Do your best and study the basics as part of your curriculum. This helps you establish common understanding with other similarly trained professionals. Think of how professional basketball players all learn the same drills and basics.
2. Find some interesting problems to solve. This parts relies on your self-motivation.
3. Accept we all make mistakes. Sometimes it is a typo, sometimes we write the software incorrectly. Best to see it, accept it, and then move on.
Never stop learning.
Good luck out there.
Thank you, Marco!
Taylor