대학 프로그래밍 매니아를 위한 초보자 가이드

안녕하세요 데브스입니다.



이 블로그에서는 컴퓨터 과학 스트림에서 여행을 막 시작/시작하는 초보자를 위한 유용한 리소스 대부분을 다룰 것입니다.

메모



소프트웨어 개발자가 가질 수 있는 좋은 기술은 사용 가능한 수많은 정보에서 필요한 것을 효율적으로 검색하는 능력이기 때문에 이 블로그에 리소스를 첨부하지 않습니다.

명심하십시오

  • Never learn two different technologies(Ex: ML & WebDev) at the same time, doing so can screw you completely
  • Read documentation whenever learning any new technology
  • Your graduation stream || age || gender is not at all a barrier
  • Maths is not at all a prerequisite for coding, you can become good at logical thinking after a good practice
  • No one is always perfect in coding, it's all about practice and consistency that matters in a long run
  • You cannot expect yourself to program a production application just after learning programming for a couple of days. (Yes, It takes time)
  • Your habits can affect your productivity rate definitely


타임라인/로드맵



컴퓨터 과학 졸업 4년차에 접어든 Maverick이라는 특별한 캐릭터를 생각해 봅시다. Maverick이 졸업이 끝날 때까지 프로 개발자가 되고 싶다면 연간 계획이 어떤 모습일지 한 번 살펴보겠습니다.

졸업 첫해




C and C++ programming languages 


  1. Learn Variable Declarations, Definitions and Scope && Data types && Input/Output && Operators && Control Statements && Arrays && Strings && Functions && Pointers && recursion && OOPS concepts, Templates.
  2. Try 30-days-of code in Hackerrank (It helps in mastering a programming language)
  3. Practice problems in Hackerrank || Geeksforgeeks at least for an hour on alternate days which creates a habit of being consistent
  4. Concentrate more on C++ pointers && recursion, you will regret if not well versed with pointers && recursion.


HTML && CSS


  1. Learn all the basics of HTML and CSS.
  2. Design a very basic websites just with a static data (This process creates interest to develop more and more)


Developer tools


  1. Learn contributing/publishing your static websites to Github
  2. Start using more keyboard shortcuts in the code editors (VSCode is the preferred editor)
  3. Start networking with your fellow students || developers and discuss on new trends || technologies. Create || establish a developer groups or student clubs


졸업 2년차




In the second year of your graduation, you will need to start your actual journey of competitive programming, that's where Data Structures and Dynamic Programming come into picture.


2년 상반기




Java and C++ Standard Template Library


  1. Learn all the basics of Java Programming language, concentrate more on Java Collections, JDBC. In addition to Java Collections, learn C++ STL. C++ STL is a greater library if you want to excel in the world of programming. Compare both Java Collections and C++ STL library with each other.
  2. Learn Data Structures, Data Structures, Data Structures Start with basics of Data Structures like 1D arrays, 2D arrays, Linked lists, Trees. There will be multiple sub topics in each of the topics mentioned in the previous sentence.
  3. Practice more on Data Structures, make sure you become a PRO by the mid of second year in Data Structures.


4. Start learning DataBases. Learn SQL and PL-SQL.
[TIP: Use C++ for Data Structures and Dynamic Programming while practicing. Java or Python will be little difficult to use as they do not support pointers]


하반기



  1. Open your next dimension in to the world of Competitive Programming, Start learning Dynamic Programming. Here comes the actual part of coding journey.
  2. Dynamic Programming takes time, but TBH, it's the easier topic in the Programming. But it scares more :)
  3. In addition to Dynamic Programming, Start learning Android application development. [This does not mean learning 2 different technologies at the same time].
  4. Initially develop basic android apps with Java and XML, Optimise your application with the use of Data Structures and Dynamic Programming patterns. This is how you implement something you learned in the real world.
  5. Spend at least 1 hour for Data Structures, 2 hours for Dynamic Programming per day. When you are over whelmed, then develop apps[It will give you more fun]. Make sure you do not loose your grip on Data Structures and Dynamic programming while learning app development.
  6. So, by the end of second year. You should be well versed in the Data Structures, Dynamic Programming and have a capability to develop a basic websites with HTML, CSS and JS and basic Android apps with Java and XML.


졸업 3년차



3rd year is the most crucial year because, at this point of time where everyone's interests gets diversified and be alone. Figure out your area of interest and use this 1 beautiful year to excel it.



3학년 상반기



  1. This is the time where most of the students have mini project || some sort of that.
  2. In 3rd year you will also have core subjects like Operating systems or Computer Networks. Learn them perfectly, they matter for placements.
  3. Spend proper amount of time in identifying the right audience, right sort of platform(web app/ mobile app) for audience to interact with your application || service.
  4. Make sure your interest matches with your mini project. Then try to bring out a working prototype of your idea.
  5. If your interest is ML || AI, practice creating more and efficient models and make them as a plugins that can be integrated to any of the web || mobile apps. Your ML models should be able to solve any real world problem.
  6. If your interest is application development, explore the world around you and identify the problem which most of the people are facing and create a web or mobile based solution for the same.
  7. Create your applications with Frameworks[ReactJS, Angular, Vue, Flutter], because it fastens the development process and achieves re-usability. Explore more type of DataBases and integrate with your application.
  8. Never forgot to spend time on Data Structures and Dynamic programming.


3년차 하반기



  1. This is the time where you will be good with almost all the topics you need for a software engineer.
  2. Apply for a single solid internship[Try to get intern at FAANG], Do not go behind small small companies unless until it is a good start-up. You did hard work not to settle less.
  3. Appear for interviews related to internships, make a note of what has gone wrong in the interviews || your low corners.
  4. Spend time to improve the above low corners.


졸업 4년차



지난 3년을 어떻게 보냈는지에 따라



안부 인사와 행운을 빕니다, Chaitu Maverick.

좋은 웹페이지 즐겨찾기