0% found this document useful (0 votes)
5 views38 pages

Lecture 1 - Introduction

The document outlines the introductory lecture for a Computer Programming course led by Dr. Youngjae Yu, detailing the course structure, assessment methods, and objectives. It covers key topics including Java and C++ programming, object-oriented concepts, and practical skills for software development. Additional resources and optional challenges for students are also mentioned to enhance learning and application of programming skills.

Uploaded by

ohjiwoonim
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views38 pages

Lecture 1 - Introduction

The document outlines the introductory lecture for a Computer Programming course led by Dr. Youngjae Yu, detailing the course structure, assessment methods, and objectives. It covers key topics including Java and C++ programming, object-oriented concepts, and practical skills for software development. Additional resources and optional challenges for students are also mentioned to enhance learning and application of programming skills.

Uploaded by

ohjiwoonim
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

[M1522.

000600]
Computer Programming

Lecture 1: Introduction & Orientation

Youngjae Yu

1
Welcome everyone!

2
Staff
• Dr. Youngjae Yu
○ Email: youngjaeyu@[Link]

○ Office Hour: by email, Mon 13:00~13:40 AM

○ Office: building 302, 429

• Teaching Assistants
○ Kyochul Jang ○ Saejin Kim

○ kyochul@[Link] ○ jerry0110@[Link]

○ Jeonghun Park ○ Youna Park

○ top321902@[Link] ○ yuna1449@[Link]
Welcome

4
Homepage

The Instructor. Random fun fact

Engineering Waterfall, 2009 MS/Ph.D. 2015~2021

I’m Cocktail maker I was a LostArk Top-tier Ranker I love basketball, and enjoy long walks

Google Research Scholar Award 2025, NLP


NAACL22 Best paper
EMNLP23 Outstanding paper
Allen Institute for AI, Mosaic
(Feb 2021 ~ Apr 2024) ACL24, Outstanding paper
Acknowledgements
● This course integrates materials and content from
lectures by Youngki Lee. We gratefully
acknowledge his contributions.
● Parts of this course are based on and integrated
with the previous lecture materials.

6
Course Introduction

7
Course Introduction

8
Course Introduction
주차 내용
1주차 강의 소개
2주차 Java 기초
3주차 객체 지향 프로그래밍 소개
4주차 상속 (Inheritance)
5주차 다형성 (Polymorphism)
6주차 디자인 패턴
7주차 컬렉션 (Collection)
8주차 입출력 및 예외처리
9주차 C++ 기초
10주차 C++ 객체 지향 프로그래밍
11주차 C++ 의 상속 (Inheritance)
12주차 C++ 의 다형성 (Polymorphism)
13주차 포인터와 레퍼런스
14주차 리뷰 및 기말고사
15주차 기타 주제 (템플릿, 표준 라이브러리 등)

9
Assessment
● Lab and participation: 15%
○ 13% lab (1% per lab)
○ 2% participation (Slack Q&A)

● Assignment: 50%
○ 6 programming assignments (breakdown in prev. slide)

● Final exam: 35%

● Attendance
○ Penalty will be given if you miss more than 2 classes without
valid reasons (details in the later slides).
10
Labs
● There is a lab (practice class).

● You will practice what you have learnt during


lectures with many good examples.

● Feel free to ask questions! TAs are there to help.

● Use your own laptop for the labs. If you need one,
contact TA.
11
Lab Evaluation
● Each lab will take 1% of the overall assessment.

● You will get full marks if you attend the lab and
complete the lab assignments.

● The goal is to help you follow the lectures and


labs.
○ This is not to differentiate grades.

12
Assignment
● There will be 6 assignments.

● Submission guidelines will be announced

● Total 3 grace days are given for the whole semester.


○ When you hand in the assignment after the due date, grace
days are automatically used.
○ Submitting “1 second” late uses 1 grace day.
○ Submitting “24 hour + 1 second” late uses 2 grace days.
○ After you use up all grace days, you will get 0 point for any
late submission.
13
Final Exam
● Please mark this on your calendar!

● Date and time, Place


○ TBD. We will announce once the place is confirmed.

14
Final Exam
● Written exam

● Offline exam

● Closed book

● Scope: Materials covered before the exam date

15
How to Contact TAs?
● Send an email (26-1-cp-ta@[Link]) if you have
any questions that are difficult to solve.

● Write “[CP2026]” in front of the email title.


Ex) [CP2026] Question regarding HW1

● Indicate your name and student ID in the email content to


help TAs to handle your request.

● Requests sent to other emails (e.g., TAs’ personal emails)


will not be answered.
16
Programming!
Common Myth

18
Vibe Coding..?

19
Programming Interview (with or without AI agents)

20
Course Objectives
● Practice problem solving skills using JAVA and
C++ languages.

● Learn and apply basic concepts of object-oriented


languages.

● Apply good programming practices and design


concepts to develop software.

21
Course Objectives
Object Oriented

Programming!

22
Course Objectives
Make it reusable, efficient!
+reducing redundancy
def Class

Objects

23
Course Objectives
Object Oriented
Course Objectives

25
Course Objectives
Object Oriented
Why Do I Need to Take This Course?
Basic knowledge of C++ , Java
Practical interview skills, Problem solving skills

27
Why Do I Need to Take This Course?
● Computing is rapidly expanding its domain!
○ Computing innovates conventional principles and
methodologies in businesses and academic disciplines.

● You will be involved in software projects as an


engineer, an entrepreneur, or in other roles.

● Building software involves various skills but


programming is the cornerstone.

28
Course Connections
● Java and C++ are used in many future courses.
● JAVA
○ Data Structure
○ Algorithm
○ Introduction to Data Mining
○ Mobile Computing and Its Applications
● C/C++
○ Systems Programming
○ Operating Systems
○ Computer Graphics
○ Compiler
29
W3Schools
● Prepare for the class & lab sessions with
W3Schools!
[Link]

● We don’t grade this but it is highly


recommended that you study the basics before
the course starts.

30
W3Schools
● We recommend studying until “Java Methods” by
3/23. (Estimated time: 2 hours)

31
To be honest..

32
33
34
35
+hidden extra challenge!
● Use class knowledge + LLMs, challenge any worthy ‘Real world problem!’

● Kaggle gold medal, Submitting academic paper, building Start-up company

○ Pick a real-world process with a measurable KPI (time, cost, accuracy, user effort).

○ Combine OOP, DSA (structures/algorithms) + LLMs (retrieval, tools, agents) to


improve it.

○ Show impact: baseline vs improved metrics.

● This is optional challenge. I’ll take top 5~10 reports.

○ For a reward, I’ll upgrade your final credit.

36
+hidden extra challenge!
● Kaggle Gold (Competition)

○ Pick an active competition. Make a small team with clear roles.

○ You can use your knowledge + LLMs to brainstorm ideas, review code, and write a
short solution card.

● Academic Paper (Research)

○ Aim for a workshop/short/demo paper (4–6 pages + artifact).

● Start-up (Venture)

○ Prove yourself

37
Take a good rest and see you next
week!

38

You might also like