Skip to main content
8 answers
9
Asked 412 views

How can I get to familiarise with programming knowing that I am trying to do (courses, tutorials...) ? I feel like I still can't find the "how" I get the right way to think relating to computer science fields ?

I am a mechanical engineering intern and I am interested in improving my software engineering skills.

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

9

8 answers


1
Updated
Share a link to this answer
Share a link to this answer

Dereasa’s Answer

Don't fret!! That's great that you're interested in improving your software engineering skills! Here are some resources and tips to help you get familiar with programming:
Courses and Tutorials:
* Online platforms: Numerous online platforms offer introductory programming courses and tutorials. Some popular options include:
* Coursera (https://www.coursera.org/)
* edX (https://www.edx.org/)
* Udacity (https://www.udacity.com/)
* Khan Academy (https://www.khanacademy.org/)
* Codecademy (https://www.codecademy.com/)
* University Courses: Consider enrolling in an introductory computer science course at a local community college or university. This can provide a structured learning environment with guidance from an instructor.
Learning Approach:
* Start with the basics: Begin with fundamental programming concepts like variables, data types, operators, control flow, and functions. This will lay the groundwork for more advanced topics.
* Hands-on practice: Don't just read passively. Actively engage with the material by working on coding exercises and projects. This will solidify your understanding and develop your problem-solving skills.
* Pick a beginner-friendly language: Choose a programming language well-suited for beginners, like Python, Java, or JavaScript. These languages have a clear syntax and ample learning resources available.
* Think computationally: As you learn, try to approach problems from a computational perspective. Break down problems into smaller, logical steps that a computer can execute.
Additional Tips:
* Set realistic goals: Don't get discouraged if you don't become an expert overnight. Set achievable goals and celebrate your progress.
* Join online communities: Engage with online forums and communities for programmers. This allows you to ask questions, get help, and learn from others.
* Build projects: Once you have a grasp of the basics, apply your knowledge by building small projects. This will help you solidify your learning and create a portfolio showcasing your skills.
Remember, consistent practice is key to developing your programming skills. Start with these resources, stay focused, and keep practicing! You got this!! Hope this helps!!
Thank you comment icon I'm excited to put your great advice to good use! Samir
Thank you comment icon Thanks Dereasa Samir
1
1
Updated
Share a link to this answer
Share a link to this answer

John’s Answer

Hi Samir
In much the same way as Dereasa, I'd suggest not worrying to much about this. I think the only way to familiarise yourself with programming is to write some programs. Start small, get happy with that and then expand your knowledge from there. You can't learn programming from reading about it. Nor can you learn by watching videos or listening to someone talk about it. You have to just do it I'm afraid.

I think that you also shouldn't worry too much about what language you decide to use. Find one that works for you and not one that is fussy about things. I'd also choose a decent editor (VS Code is probably a good place to start) as this will help remind you of some of the syntax items. Once you get reasonably happy with one language, you will find it easier to pick up another one.

Good luck
Thank you comment icon Thanks John I will try my best Samir
1
0
Updated
Share a link to this answer
Share a link to this answer

Antwon’s Answer

Improving your software engineering skills as a mechanical engineering intern is a great way to enhance your career prospects and versatility in the job market. Here’s a structured approach to familiarize yourself with programming and develop the right mindset for computer science:
Step 1: Choose the Right Programming Language
For mechanical engineers, Python is highly recommended due to its simplicity and the vast array of scientific libraries availableAd12. It’s widely used for data analysis, automation, and simulation, which are key areas in mechanical engineering.
Step 2: Engage in Online Courses and Tutorials
Start with introductory courses on platforms like Coursera, edX, or Udemy that offer Python programming for beginners.
Watch tutorials on YouTube channels such as Skill Lync3 or Mide Technology4 that cater specifically to mechanical engineers.
Step 3: Practice Coding Regularly
Use online platforms like HackerRank, LeetCode, or Codecademy to practice coding problems.
Try to automate simple tasks related to your field using Python to get hands-on experience.
Step 4: Work on Projects
Build small projects that interest you or are related to mechanical engineering. This could be anything from a simple calculator to a more complex simulation model.
Participate in hackathons or coding competitions to challenge yourself and improve.
Step 5: Understand Computer Science Fundamentals
Learn the basics of computer science, such as algorithms and data structures, which are crucial for efficient programming.
Resources like MIT OpenCourseWare provide free courses on these topics.
Step 6: Explore Advanced Topics
Once you’re comfortable with the basics, delve into more advanced topics like machine learning, which is increasingly relevant in mechanical engineering.
Consider taking specialized courses that bridge mechanical engineering and software development5.
Step 7: Join a Community
Engage with online communities on Reddit, Stack Overflow, or GitHub to learn from others and get feedback on your code.
Networking with professionals in the field can provide valuable insights and mentorship.
Step 8: Apply Software Engineering Skills in Your Field
Look for opportunities within your internship to apply your new software skills. This could involve data analysis, process automation, or even contributing to software development projects.
Step 9: Continuous Learning
The field of software engineering is always evolving. Stay updated with the latest trends and technologies by following blogs, attending webinars, and continuing your education.
Remember, the key to mastering programming is consistent practice and application. Don’t be afraid to start small and gradually take on more complex projects as you grow more confident in your abilities. Happy coding! 👨‍💻🔧
Thank you comment icon Antwon I appreciate your advice I really like your build up answer I will try my best to fulfill your approach Thanks Samir
0
0
Updated
Share a link to this answer
Share a link to this answer

Chad’s Answer

It's a good question to keep in your mind and work towards!

With programming, the best way to learn is by doing, and the best way to do is by starting, and the best way to start is by starting small. There are a number of amazing platforms out there (which Dereasa covers perfectly!), but there's only two things I would add on top.

1) There's a growing number of systems and video games being made that are excellent and engaging ways to learn and practice programming in "practical" applications. One thing I have always had trouble with, personally, is feeling like I'm programming in a bubble when going through online learning - it's a good way to give you the vocabulary, but you don't always learn all of the necessary grammar that is developed the best when making something that is a practical, connected application.

My current favorite of the above is a game called "The Farmer Was Replaced", where you slowly build up an application using a programming language very close to Python - an industry favorite - to automate a farm.

2) Building off of the above - embrace learning at this stage, and avoid bogging yourself down too much with the choice paralysis. There's a million things you can do in programming, and we may lean towards starting with the biggest and most revolutionary project of all, feeling like we have to run to the end. The most important skill in my career has been learning how to learn, and embracing change, and I've done that by doing dozens of small projects in various languages, a lot of them simply for fun and for learning. While I wouldn't qualify myself as a master in most of those languages, it's through that process I learned the language and art of programming and built a strong foundation to structure all my knowledge off of since then.

In summary - take it slow, keep it small, make it fun!
Thank you comment icon Valuable advice Thanks Chad Samir
0
0
Updated
Share a link to this answer
Share a link to this answer

Caryn’s Answer

Samir, I love that you are thinking ahead and being so proactive ! These days there are many free and online ways to learn. Your learning is really only bound by your curiosity and time you can put into it.

Microsoft (for whom I work) offers a number of free classes on Coursera, which you can access here: https://www.coursera.org/specializations/microsoft-365-fundamentals?

Good luck with an exciting move in your life!

Caryn recommends the following next steps:

Take free online training: https://www.coursera.org/specializations/microsoft-365-fundamentals?
Leverage available gaming / programming options (see Chad's response)
Thank you comment icon Caryn Thanks for your answer I will try my best Samir
0
0
Updated
Share a link to this answer
Share a link to this answer

Chiranjib’s Answer

Hi Samir , You can start building your competency here -

https://skillsbuild.org.

I guess it is free once you sign up.

Regards,
Chiranjib
Thank you comment icon Thank you for the advice, Chiranjib. Samir
0
0
Updated
Share a link to this answer
Share a link to this answer

Aynur’s Answer

To familiarize yourself with programming and develop the right way of thinking in computer science, here are some steps you can take:

1. **Start with the Basics:**
- **Choose a Programming Language:** Python is a good starting point due to its simplicity and readability.
- **Online Courses:** Platforms like Coursera, edX, and Udacity offer courses specifically designed for beginners. Look for courses like "Python for Everybody" by the University of Michigan on Coursera or "CS50's Introduction to Computer Science" by Harvard University on edX.

2. **Interactive Tutorials:**
- **Codecademy:** Provides interactive lessons that help you practice coding as you learn.
- **freeCodeCamp:** Offers a wide range of tutorials and coding exercises in various programming languages.

3. **Practice Regularly:**
- **LeetCode, HackerRank, and CodeSignal:** These platforms offer coding challenges that help you practice and improve your problem-solving skills.
- **GitHub:** Participate in open-source projects or start your own projects. This will give you hands-on experience and expose you to real-world coding practices.

4. **Understand Computer Science Fundamentals:**
- **Books:** "Automate the Boring Stuff with Python" by Al Sweigart is great for beginners. "Introduction to the Theory of Computation" by Michael Sipser is good for understanding the theory.
- **Online Resources:** Khan Academy and YouTube channels like Computerphile offer excellent videos explaining computer science concepts.

5. **Apply Your Knowledge:**
- **Build Projects:** Start small by building simple applications or tools that interest you. Gradually increase the complexity of your projects.
- **Internships and Work Experience:** Try to find internships or part-time jobs where you can apply your programming skills in a real-world context.

6. **Join Communities:**
- **Online Forums:** Stack Overflow, Reddit's r/learnprogramming, and GitHub discussions are great places to ask questions and learn from others.
- **Local Meetups and Hackathons:** Join local programming meetups or participate in hackathons to network with other programmers and learn collaboratively.

7. **Mentorship and Networking:**
- **Find a Mentor:** Having a mentor can provide guidance, feedback, and support. Look for mentorship programs or ask someone you know who is experienced in software engineering.
- **Networking:** Connect with professionals in the field through LinkedIn or professional organizations. This can open up opportunities for learning and growth.

For a mechanical engineering intern interested in software engineering, combining your engineering knowledge with programming skills can be highly valuable. Consider learning programming languages and tools relevant to your field, such as MATLAB, Python for data analysis, or C++ for more complex simulations.

Remember, the key is consistency and continuous learning. Programming is a skill that improves with practice and time.
Thank you comment icon That's a good plan Aynur Thanks Samir
0
0
Updated
Share a link to this answer
Share a link to this answer

Patrick’s Answer

Samir, it's crucial to adopt a systematic method to boost your programming knowledge and software engineering abilities as a mechanical engineering intern. Start by determining your learning goals and pinpointing the specific programming languages or tools that align with your objectives, such as Python for data analysis or MATLAB for engineering simulations. Enroll in online courses and tutorials from trusted platforms like Coursera, edX, or Udacity, focusing on beginner-level programming, algorithms, and data structures. Complement these with practical exercises through coding challenges on platforms like LeetCode or HackerRank to solidify your learning and problem-solving skills.

Samir, it's important to immerse yourself in core computer science concepts to build a solid foundation. Dive into key topics like object-oriented programming, algorithms and complexity analysis, and software design principles. Use resources like textbooks (for example, "Introduction to Algorithms" by Cormen et al.) and online lectures (like MIT OpenCourseWare) to acquire theoretical knowledge. Connect with peers or participate in coding communities on platforms like GitHub or Stack Overflow to learn from others, get advice, and contribute to open-source projects. You might also think about seeking advice or mentorship from seasoned software engineers within your network or via professional organizations like IEEE or ACM.

Finally, Samir, strive to develop a mindset that embraces problem-solving and critical thinking by regularly engaging in coding challenges, debugging code, and reflecting on your solutions. This repetitive process will help shape the thinking style needed for computer science and software engineering fields, ultimately boosting your skills and self-assurance in programming. By merging structured learning with hands-on experience and an active approach to learning, you can successfully transition from a mechanical engineering intern to a skilled software engineer.
Thank you comment icon Thank you so much for the advice. Samir
0