강의

멘토링

커뮤니티

Programming

/

etc. (Programming)

7 Basic Principles of Software Development: How to Become a Great Programmer

Software quality is a habit! This course will teach you how to become the best programmer that companies want.

(5.0) 4 reviews

49 learners

  • drajin
개발원칙
요구사항분석
개발자취업
교수님 강의
Algorithm
C
software-design
Software Test
Coding Test

What you will gain after the course

  • How to become a great programmer

  • Principles for creating high-quality software

  • Basic qualities of programmers that companies want

A must-know for both job seekers and junior developers
7 Key Principles for Assessing Development Capabilities ✅

Software quality is a “habit.”

To become a great programmer, you need to have fundamental software development habits .

7 Principles of Software Development

  • Principle 1: Focus on the important requirements.
  • Principle 2: Find the best method.
  • Principle 3: Verify by design.
  • Rule 4: Read the code.
  • Rule 5: Write readable code.
  • Principle 6: Verify with unit tests.
  • Rule 7: Reduce system testing.

This lecture will cover these “basic software development habits.”
Every developer knows this, but not many put it into practice.
Explain the meaning of the principles through assignments . Ask questions like, "Why are these principles necessary?" and "How should they be implemented?"

Please be sure to watch the lecture introduction video📺.
I'll share the key takeaways based on my experience as a software architect.

This course explains the development capabilities required to develop high-quality software desired by companies, based on problems and educational materials designed to diagnose and train the SW development capabilities of overseas research institute personnel.

Many developers have the bad habit of relying on system tests. While system tests may be intuitive and clear, they are ineffective. Therefore, relying on system tests actually hinders the development of the fundamental skills required for software development.

To become a developer who can develop high-quality software that businesses need, you must understand and be able to implement the efforts that must be made before system testing .
I hope this course will help you take a step closer to becoming a software developer who sticks to the basics.


Learning content
Check it out.

This lecture explains the fundamental principles of software development by walking you through the process of developing a problem-solving Roman numeral calculator.

Section 1-1. Requirements Analysis

First, we analyze the requirements for the Roman numeral calculator problem. Specifying and analyzing requirements is the first step in software development. While it might be beneficial to understand and develop all requirements accurately, it's often a waste of time or a superficial understanding. Therefore, we must focus on the most important requirements.

Section 1-2. Design

This section describes the design phase activities for the Roman numeral calculator problem. The core of design is optimal design. Software has multiple solutions. Implementing and reviewing these solutions is inefficient. During the design phase, various solutions must be reviewed and the optimal method identified.

Section 1-3. Implementation

Implement the designed Roman numeral calculator. Read the code, imagine its operation, and implement it.

Section 1-4. Testing

We will verify the implemented Roman numeral calculator with tests. We will explain how to unit test it.

After taking this course, I recommend you try developing a Roman numeral calculator again. I also hope you become a software developer who adheres to the fundamental principles .

📢 Please check before taking the class.

  • Before attending this course, please be sure to solve the following problem : (Roman Numeral Calculator)
  • To take this course, you need programming skills sufficient to attempt Roman numeral calculator problems. Solving these problems and taking the course will allow you to experience and learn even more.
  • The course is taught in C, so familiarity with C is recommended. However, learning in other languages is also helpful.
  • The course uses Visual C++, but you are welcome to use other languages or IDEs.

Recommended for
these people

Who is this course right for?

  • People who want to become the best programmers

  • People who want to get better at software development

  • Anyone who wants to know how to develop high-quality software

  • Anyone who wants to know what kind of software developers companies want

Need to know before starting?

  • Programming skills to attempt Roman numeral calculator problems

Hello
This is

334

Learners

30

Reviews

10

Answers

5.0

Rating

3

Courses

소프트웨어 아키텍트 & 교육가

현) 보이는소프트웨어연구소 대표(2016~현재)
  - 삼성전자 소프트웨어 아키텍트 양성 및 인증
  - 소프트웨어 구조 설계 및 평가 교육 / 컨설팅

중앙대학교 소프트웨어 대학 겸임 교수(2018~2022)
  - 기초 컴퓨터 프로그래밍 - C/C++, JavaScript, Python

삼성전자(2003~2016)

Curriculum

All

7 lectures ∙ (1hr 30min)

Published: 
Last updated: 

Reviews

All

4 reviews

5.0

4 reviews

  • sunny75님의 프로필 이미지
    sunny75

    Reviews 113

    Average Rating 5.0

    5

    100% enrolled

    (25/07/23/수 20:28) 짧은 시간의 강의지만, token에 대해서 이해했고 강의 내용 좋았습니다. 좋은 강의 만들어 주셔서 감사합다.

    • 드라진
      Instructor

      고맙습니다. 좋은 소프트웨어 엔지니어가 되시길^^

  • 김정혁님의 프로필 이미지
    김정혁

    Reviews 1

    Average Rating 5.0

    5

    100% enrolled

    • ADK123님의 프로필 이미지
      ADK123

      Reviews 326

      Average Rating 5.0

      5

      100% enrolled

      • 든든한꼬마님의 프로필 이미지
        든든한꼬마

        Reviews 75

        Average Rating 4.9

        Edited

        5

        100% enrolled

        저는 아직 프로그래밍 언어도 어렵게 느껴지는 입문 단계에 있습니다만 강의 제목과 미리보기 영상을 보고 이끌려서 강의를 수강하게 되었습니다. 아직 기초 단계를 배우고 있는 저에게도 개발 과정, 문제를 해결하는 사고방식, 개발자의 역량 등 많은 부분을 배우고 생각해볼 수 있는 강의였습니다. 좋은 강의 만들어주셔서 감사합니다.

        • 드라진
          Instructor

          열심히 해보세요. 어려운 것 있으면 물어보시고요. 요즘 노코딩을 주장하는 사람도 많지만, 더 좋은 것을 만들려면 내가 많이 알아야 하는거죠. 집을 지을 때도 많이 아는 고객이 더 좋은 집을 지을 수 있는 것처럼.

      $17.60

      drajin's other courses

      Check out other courses by the instructor!

      Similar courses

      Explore other courses in the same field!