diff --git a/README.html b/README.html index f0ac142..8b50cfd 100644 --- a/README.html +++ b/README.html @@ -3,10 +3,8 @@
- - -Li Zhaoqi@Eclipse-Dominator | Sun Xinyu@Echomo-Xinyu | Vignesh Sankar Iyer@vigneshsankariyer1234567890 | Wong Chee Hong@cheehongw |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Kang Su Min@kkangs0226 | Lee Chun Wei@chunweii |
---|---|
![]() | ![]() |
@anubh-v
(alumni)@dingyuchen
(alumni)@gycgabriel
@luminousleek
Chan Yu Cheng@yucheng11122017 | Elton Goh Jun Hao@EltonGohJH | Lee Hyung Woon@lhw-1 | Lee Wei, David@itsyme |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Jovyn Tan Li Shyan@jovyntls | Koh Rayson@raysonkoh | Liu Yongliang@tlylt | Ong Jun Xiong@ong6 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@acjh
(alumni)@kaixin-hc
@Gisonrg
(alumni)@jonahtanjz
Chang Si Kai@sikai00 | Charisma Kausar@ckcherry23 | David Gareth Ong@vvidday | Marcus Tang Xin Kye@MarcusTXK |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Chan Jun Da@chan-j-d | Huang Chengyu@HCY123902 | Tay Yi Hsuen@yhtMinceraft1010X | Zhou Jiahao@Zhou-Jiahao-1998 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@gok99
@dcshzj
@eugenepeh
(alumni)@Tejas2805
(alumni)Dominic Lim Kai Jun@domlimm | Gujar Parth Shailesh@parth-io | Kevin Foong Wei Tong@kevin9foong | Neo Wei Qing@weiquu |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Ong Jun Heng, Cedric@cedricongjh | Qiu Jiasheng, Jason@jasonqiu212 | Sim Sing Yee, Eunice@EuniceSim142 | Wu Qirui@hhdqirui |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Dao Ngoc Hieu@daongochieu2810 | Fang Junwei, Samuel@samuelfangjw | Wu Qirui@hhdqirui | Zhao Jingjing@zhaojj2209 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@NicolasCwy
@jayasting98
@jianhandev
@xyliew25
@FergusMok
@madanalogy
(alumni)@wkurniawan07
(alumni)@ypinhsuan
(alumni)@fans2619
@ziqing26
Goh Yee Chong, Gabriel@gycgabriel | Lee Chun Wei@chunweii | Lee Xiong Jie, Isaac@luminousleek |
---|---|---|
![]() | ![]() | ![]() |
Low Jun Kai, Sean@seanlowjk | Ding Yuchen@dingyuchen |
---|---|
![]() | ![]() |
@anubh-v
(alumni)@kkangs0226
Hannah Chia Kai Xin@kaixin-hc | Jovyn Tan Li Shyan@jovyntls | Liu Yongliang@tlylt | Ong Jun Xiong@ong6 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Ryo Chandra Putra Armanda@ryoarmanda | Jonah Tan Jun Zi@jonahtanjz |
---|---|
![]() | ![]() |
@acjh
(alumni)@ang-zeyu
@Gisonrg
(alumni)@wxwxwxwx9
Chan Jun Da@chan-j-d | Gokul Rajiv@gok99 | Tay Yi Hsuen@yhtMinceraft1010X | Zhou Jiahao@Zhou-Jiahao-1998 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Hsu Zhong Jun@dcshzj | Chan Ger Hean@gerhean |
---|---|
![]() | ![]() |
@HCY123902
@eugenepeh
(alumni)@fzdy1914
(alumni)Chang Weng Yew, Nicolas@Nicolascwy | Fang Junwei, Samuel@samuelfangjw | Jay Aljelo Saez Ting@jayasting98 | Liu Zhuohao@fsgmhoward |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Mok Kheng Sheng Fergus@FergusMok | Zhao Jingjing@zhaojj2209 | Zhang Ziqing@ziqing26 |
---|---|---|
![]() | ![]() | ![]() |
Tan Chee Peng@t-cheepeng | Mo Zongran@moziliar | Lim Zi Wei@halfwhole | Li Jianhan@jianhandev |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@AdithyaNarayan
@daongochieu2810
@ChooJeremy
(alumni)@madanalogy
@rrtheonlyone
(alumni)@wkurniawan07
(alumni)@hhdqirui
@xpdavid
(alumni)@ypinhsuan
Goh Yee Chong, Gabriel@gycgabriel | Lee Chun Wei@chunweii | Lee Xiong Jie, Isaac@luminousleek |
---|---|---|
![]() | ![]() | ![]() |
Low Jun Kai, Sean@seanlowjk | Ding Yuchen@dingyuchen |
---|---|
![]() | ![]() |
@anubh-v
(alumni)@kkangs0226
Hannah Chia Kai Xin@kaixin-hc | Jovyn Tan Li Shyan@jovyntls | Liu Yongliang@tlylt | Ong Jun Xiong@ong6 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Ryo Chandra Putra Armanda@ryoarmanda | Jonah Tan Jun Zi@jonahtanjz |
---|---|
![]() | ![]() |
@acjh
(alumni)@ang-zeyu
@Gisonrg
(alumni)@wxwxwxwx9
Chan Jun Da@chan-j-d | Gokul Rajiv@gok99 | Tay Yi Hsuen@yhtMinceraft1010X | Zhou Jiahao@Zhou-Jiahao-1998 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Hsu Zhong Jun@dcshzj | Chan Ger Hean@gerhean |
---|---|
![]() | ![]() |
@HCY123902
@eugenepeh
(alumni)@fzdy1914
(alumni)Chang Weng Yew, Nicolas@Nicolascwy | Fang Junwei, Samuel@samuelfangjw | Jay Aljelo Saez Ting@jayasting98 | Liu Zhuohao@fsgmhoward |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Mok Kheng Sheng Fergus@FergusMok | Zhao Jingjing@zhaojj2209 | Zhang Ziqing@ziqing26 |
---|---|---|
![]() | ![]() | ![]() |
Tan Chee Peng@t-cheepeng | Mo Zongran@moziliar | Lim Zi Wei@halfwhole | Li Jianhan@jianhandev |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@AdithyaNarayan
@daongochieu2810
@ChooJeremy
(alumni)@madanalogy
@rrtheonlyone
(alumni)@wkurniawan07
(alumni)@hhdqirui
@xpdavid
(alumni)@ypinhsuan
CS3281 and CS3282 (Officially known as Thematic Systems Project I & II for legacy reasons, a more apt name would be Software Engineering in Live Projects) aim to build up your ability to work with software systems currently in-use, to build up your SE capabilities towards levels expected from engineers working at high-end software companies. Special emphasis will be placed on maintainability, efficiency, scalability, and reliability. You will work under the guidance of mentors some of whom are currently working in the industry. Both modules involve working in OSS projects that are currently being used by others.
These two modules are offered in Semester 2 only.
You will not be allowed to take both modules concurrently. Instead, you'll have to take CS3281 first and come back for CS3282 in a subsequent semester.
Prerequisites : CS2103/T or CS2113/T (with approval)
CS3281 and CS3282 (Officially known as Thematic Systems Project I & II for legacy reasons, a more apt name would be Software Engineering in Live Projects) aim to build up your ability to work with software systems currently in-use, to build up your SE capabilities towards levels expected from engineers working at high-end software companies. Special emphasis will be placed on maintainability, efficiency, scalability, and reliability. You will work under the guidance of mentors some of whom are currently working in the industry. Both courses involve working in OSS projects that are currently being used by others.
These two courses are offered in Semester 2 only.
The two courses cannot be taken concurrently. Instead, you'll have to take CS3281 first and come back for CS3282 in a subsequent semester.
Prerequisites : CS2103/T or CS2113/T (with approval)
Students will be assessed on each module separately, based on their contributions to the project, and their skills/expertise gained. Both modules are 100% CA with no final exam.
The class enrollment is capped at 20 students due to resource constraints.
There is a soft lower bound for studentsβ CAP of 3.9; you may still apply for CS3281&2 if they have a CAP -below 3.9, provided you can show evidence of a strong passion for software engineering e.g., side projects done.
To get the full value of these module pair, you are encouraged to stay involved with the projects beyond the semester time to experience leading/managing live projects. Furthermore, this module depends on past students mentoring current students. Such work can count for CS3282 and possibly be paid.
Please do not apply if you are not sincerely interested in staying with the projects beyond the semester to become project mentors.
Student selection is not based on ModReg. Instead, submit your application using this application form (requires NUSNET login, requires you to upload the latest transcript).
β° Interested students are to complete the application process by Mon 5th December 2022. Late applications will not be entertained.
The outcome of all applications are expected to be released via email around 21 December 2022.
A good way to increase your chances of getting selected is to start contributing to an NUS-OSS project before you apply for the module. The more you have contributed, the more you will score in criterion 1 above.
Even contributions around the application period (up to 2 weeks after the application deadline) can count. All the NUS-OSS projects have some guidance on how to get started on contributing -- if you need more help, go ahead and post a help request in the project's issue tracker.
Q: Can I apply to both CS3217 and CS3281?
+Pick a few SE-related expertise areas (of your choice) that can enhance your SE career prospects -- a tool/technology e.g. Node.js, Cloud, an aspect e.g. Code quality, a language e.g. Kotlin, Go -- and develop a demonstrable expertise in that area.
Students will be assessed on their contributions to the project, and their skills/expertise gained. Both courses are 100% CA with no final exam.
The class enrollment is capped at 20 students due to resource constraints.
There is a soft lower bound for studentsβ of 3.9; you may still apply for CS3281&2 if they have a GPA below 3.9, provided you can show evidence of a strong passion for software engineering e.g., side projects done.
To get the full value of these course pair, you are encouraged to stay involved with the projects beyond the semester time to experience leading/managing live projects. Furthermore, this course depends on past students mentoring current students. Such work can count for CS3282 and possibly be paid.
Please do not apply if you are not sincerely interested in staying with the projects beyond the semester to become project mentors.
Student selection is not based on CourseReg. Instead, submit your application using this application form (requires NUSNET login, requires you to upload the latest transcript).
β° Interested students are to complete the application process by Mon 11th December 2023. Late applications will not be entertained.
The outcome of all applications are expected to be released via email around Wed 27 December 2023.
A good way to increase your chances of getting selected is to start contributing to an NUS-OSS project before you apply for the course. The more you have contributed, the more you will score in criterion 1 above.
Even contributions around the application period (up to 2 weeks after the application deadline) can count. All the NUS-OSS projects have some guidance on how to get started on contributing -- if you need more help, go ahead and post a help request in the project's issue tracker.
Q: Can I apply to both CS3217 and CS3281?
A: Yes. If you get places in both, you will be given time to decide which one to take.
Q: What's the difference between CS3217 and CS3281&2?
-A: Here are some similarities/differences:
CS3217 | CS3281&2 |
---|---|
design and deliver a complete product -- includes an individual project (6 weeks) and a team project (6 weeks) | work with existing applications that are currently in use (higher focus downstream value addition such as reliability, scalability, security, maintainability, etc.) |
typically involves iOS ecosystem + other modern frameworks/platforms | low involvement of iOS ecosystem but involves other modern application frameworks/platforms |
small intake (~40-50), via a selection process, hard to get in | small intake (~20), via a selection process, hard to get in |
done over one semester, although most students also take CS3216 | done over two semesters, with a gap in-between (i.e., takes at least 1.5 academic years to complete) |
expects you to design and deliver a good product by the end of the semester | expects you to manage and evolve an existing product over a longer period, guided by past devs, while guiding new devs (in later stages) |
high workload, intended for strong programmers only | high workload, intended for strong programmers only |
Q: Can I take this module while doing ATAP/SIP?
+A: Here are some similarities/differences:
CS3217 | CS3281&2 |
---|---|
design and deliver a complete product -- includes an individual project (6 weeks) and a team project (6 weeks) | work with existing applications that are currently in use (higher focus downstream value addition such as reliability, scalability, security, maintainability, etc.) |
typically involves iOS ecosystem + other modern frameworks/platforms | low involvement of iOS ecosystem but involves other modern application frameworks/platforms |
small intake (~40-50), via a selection process, hard to get in | small intake (~20), via a selection process, hard to get in |
done over one semester, although most students also take CS3216 | done over two semesters, with a gap in-between (i.e., takes at least 1.5 academic years to complete) |
expects you to design and deliver a good product by the end of the semester | expects you to manage and evolve an existing product over a longer period, guided by past devs, while guiding new devs (in later stages) |
high workload, intended for strong programmers only | high workload, intended for strong programmers only |
Q: Can I take this course while doing ATAP/SIP?
A: No. Reason: You need to be available during working hours for lectures and project meetings.
Q: For CS3281, can I choose a project that is not one of the NUS-OSS projects?
-A: No. Reason: As 100% of your CS3281 module grade depends on your project work, you need to work in a project that is fully under our control.
Q: Can CEG students take this module?
-A: Yes.
Q: If selected for both CS3217 and CS3281&2, can I take both?
-A: Discouraged (but allowed). Reason: all three modules have high workload.
Please direct any questions to CS3281&2 module coordinator Dr Damith Rajapakse damith [at] comp.nus.edu.sg
Q: Can CEG students take this course?
+A: Yes, with approval.
Q: If selected for both CS3217 and CS3281, can I take both?
+A: Discouraged (but allowed). Reason: both courses have high workload.
Please direct any questions to CS3281&2 course coordinator Dr Damith Rajapakse damith [at] comp.nus.edu.sg
Li Zhaoqi@Eclipse-Dominator | Sun Xinyu@Echomo-Xinyu | Vignesh Sankar Iyer@vigneshsankariyer1234567890 | Wong Chee Hong@cheehongw |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Kang Su Min@kkangs0226 | Lee Chun Wei@chunweii |
---|---|
![]() | ![]() |
@anubh-v
(alumni)@dingyuchen
(alumni)@gycgabriel
@luminousleek
Chan Yu Cheng@yucheng11122017 | Elton Goh Jun Hao@EltonGohJH | Lee Hyung Woon@lhw-1 | Lee Wei, David@itsyme |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Jovyn Tan Li Shyan@jovyntls | Koh Rayson@raysonkoh | Liu Yongliang@tlylt | Ong Jun Xiong@ong6 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@acjh
(alumni)@kaixin-hc
@Gisonrg
(alumni)@jonahtanjz
Chang Si Kai@sikai00 | Charisma Kausar@ckcherry23 | David Gareth Ong@vvidday | Marcus Tang Xin Kye@MarcusTXK |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Chan Jun Da@chan-j-d | Huang Chengyu@HCY123902 | Tay Yi Hsuen@yhtMinceraft1010X | Zhou Jiahao@Zhou-Jiahao-1998 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@gok99
@dcshzj
@eugenepeh
(alumni)@Tejas2805
(alumni)Dominic Lim Kai Jun@domlimm | Gujar Parth Shailesh@parth-io | Kevin Foong Wei Tong@kevin9foong | Neo Wei Qing@weiquu |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Ong Jun Heng, Cedric@cedricongjh | Qiu Jiasheng, Jason@jasonqiu212 | Sim Sing Yee, Eunice@EuniceSim142 | Wu Qirui@hhdqirui |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Dao Ngoc Hieu@daongochieu2810 | Fang Junwei, Samuel@samuelfangjw | Wu Qirui@hhdqirui | Zhao Jingjing@zhaojj2209 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@NicolasCwy
@jayasting98
@jianhandev
@xyliew25
@FergusMok
@madanalogy
(alumni)@wkurniawan07
(alumni)@ypinhsuan
(alumni)@fans2619
@ziqing26
Li Zhaoqi@Eclipse-Dominator | Sun Xinyu@Echomo-Xinyu | Vignesh Sankar Iyer@vigneshsankariyer1234567890 | Wong Chee Hong@cheehongw |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Kang Su Min@kkangs0226 | Lee Chun Wei@chunweii |
---|---|
![]() | ![]() |
@anubh-v
(alumni)@dingyuchen
(alumni)@gycgabriel
@luminousleek
Chan Yu Cheng@yucheng11122017 | Elton Goh Jun Hao@EltonGohJH | Lee Hyung Woon@lhw-1 | Lee Wei, David@itsyme |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Jovyn Tan Li Shyan@jovyntls | Koh Rayson@raysonkoh | Liu Yongliang@tlylt | Ong Jun Xiong@ong6 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@acjh
(alumni)@kaixin-hc
@Gisonrg
(alumni)@jonahtanjz
Chang Si Kai@sikai00 | Charisma Kausar@ckcherry23 | David Gareth Ong@vvidday | Marcus Tang Xin Kye@MarcusTXK |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Chan Jun Da@chan-j-d | Huang Chengyu@HCY123902 | Tay Yi Hsuen@yhtMinceraft1010X | Zhou Jiahao@Zhou-Jiahao-1998 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@gok99
@dcshzj
@eugenepeh
(alumni)@Tejas2805
(alumni)Dominic Lim Kai Jun@domlimm | Gujar Parth Shailesh@parth-io | Kevin Foong Wei Tong@kevin9foong | Neo Wei Qing@weiquu |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Ong Jun Heng, Cedric@cedricongjh | Qiu Jiasheng, Jason@jasonqiu212 | Sim Sing Yee, Eunice@EuniceSim142 | Wu Qirui@hhdqirui |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Dao Ngoc Hieu@daongochieu2810 | Fang Junwei, Samuel@samuelfangjw | Wu Qirui@hhdqirui | Zhao Jingjing@zhaojj2209 |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
@NicolasCwy
@jayasting98
@jianhandev
@xyliew25
@FergusMok
@madanalogy
(alumni)@wkurniawan07
(alumni)@ypinhsuan
(alumni)@fans2619
@ziqing26
CS3281 semester can be divided into three stages: Stage 1: Learning, Stage 2: Contributing, Stage 3: Managing.
MON 1200-1400 in COM1-0204 (will be online in some weeks)
Following NUS-OSS projects will be used this semester.
See the Projects/Mentors page for more info on the current focus of each project and the list of mentors.
Duration: Week 1 - 3 (3 weeks)
Objective: Learn the projectβs codebase, workflows, tools, etc. under the guidance of the current developers.
CS3281 semester can be divided into three stages: Stage 1: Learning, Stage 2: Contributing, Stage 3: Managing.
MON 1200-1400 in COM1-0204
Following NUS-OSS projects will be used this semester.
See the Projects/Mentors page for more info on the current focus of each project and the list of mentors.
Duration: Week 1 - 3 (3 weeks)
Objective: Learn the projectβs codebase, workflows, tools, etc. under the guidance of the current developers.
You can spend upto 40% of your CS3281 effort on one or more secondary NUS-OSS projects. SE-EDU projects can be selected as a secondary project too.
Duration: Week 4 - 9 (6 weeks)
Objective: Contribute to the project based on the projectβs priorities and you role in the project.
Objective: Learn how to play a more senior role in a big project
Duration: Week 10 - 13 (4 weeks)
This stage is optional.
Objective: To keep in touch with the project, accumulate credit for CS3282
Duration: Until you start CS3282
Will be based on the project chosen. Could be subdivided into smaller teams within the project based on the specific areas you work in.
As a general principle, try to do good work and become better software engineers as you do module work, and good grades will follow. Given the small class size, it will be easy to detect attempts to 'game the system' or 'optimize for grades over learning' and such behavior will not earn you high grades. In other words, follow the spirit (rather than the letter) of the grading scheme.
Consistency [5%]: this component is an incentive for you to spread the work across the semester. To earn full marks, you should meet both these criteria.
Learning [5%]: this component is an incentive for you to learn the relevant tools and technologies well.
Achievements [80%]:
Professional conduct and teamwork [5+5=10%]:
While this is not a graded deliverable (it used to be; we made it non-graded recently to reduce the workload), you are encouraged to choose your CS3281&2 work in a way that gives you an 'expertise' in a few areas.
Objective: Gain in-depth knowledge of a few specific areas so that you are considered an expert of those areas compared to your peers.
Just one or two semesters is certainly not enough to become an βexpertβ of something. Consider these modules as just the initial steps in the journey of becoming an expert. Our expectations are,
Consider picking one from each of the three below.
Learn more about them yourself. While you do that, produce evidence of your knowledge. E.g. blog posts, stackoverflow questions/answers
Share interesting and useful bits of your knowledge with the class by giving short talks, to be done in CS3282 later (refer Lightning Talks deliverables explained below)
Bigger code bases take time to learn. You can set up the project and start contributing before the semester starts. Even prior work can be counted for module grading later.
Dive deeper into the primary programming language of your intended project. Writing code for big projects require a lot more than a basic knowledge of the programming language. If you are weak in any of the main programming languages used in the project, start learning them now.
Project | Languages | Tools |
---|---|---|
MarkBind | JavaScript, CSS | Node.js, NunJucks |
RepoSense | Java, CSS, HTML, JavaScript | Jade, Gradle, Cypress |
CATcher | TypeScript, CSS, HTML, Python | Electron |
SE-EDU | Java, CSS | Gradle, Jekyll |
TEAMMATES | (backend) Java (frontend) HTML, SCSS, TypeScript | (backend) Gradle (frontend) Node.js, Angular (others) Selenium, Docker |
All internal projects use Git. Learn advanced Git features such as rebase, squash, blame, bisect, etc. Other tools you can learn are given in the table above.
You can spend upto 40% of your CS3281 effort on one or more secondary NUS-OSS projects. SE-EDU projects can be selected as a secondary project too.
Duration: Week 4 - 9 (6 weeks)
Objective: Contribute to the project based on the projectβs priorities and you role in the project.
Objective: Learn how to play a more senior role in a big project
Duration: Week 10 - 13 (4 weeks)
This stage is optional but highly recommended.
Objective: To keep in touch with the project, accumulate credit for CS3282
Duration: Until you start CS3282
Will be based on the project chosen. Could be subdivided into smaller teams within the project based on the specific areas you work in.
As a general principle, try to do good work and become better software engineers as you do course work, and good grades will follow. Given the small class size, it will be easy to detect attempts to 'game the system' or 'optimize for grades over learning' and such behavior will not earn you high grades. In other words, follow the spirit (rather than the letter) of the grading scheme.
Consistency [5%]: this component is an incentive for you to spread the work across the semester. To earn full marks, you should meet both these criteria.
Learning [5%]: this component is an incentive for you to learn the relevant tools and technologies well.
Achievements [80%]:
Professional conduct and teamwork [5+5=10%]:
While this is not a graded deliverable (it used to be; we made it non-graded recently to reduce the workload), you are encouraged to choose your CS3281&2 work in a way that gives you an 'expertise' in a few areas.
Objective: Gain in-depth knowledge of a few specific areas so that you are considered an expert of those areas compared to your peers.
Just one or two semesters is certainly not enough to become an βexpertβ of something. Consider these courses as just the initial steps in the journey of becoming an expert. Our expectations are,
Consider picking one from each of the three below.
Learn more about them yourself. While you do that, produce evidence of your knowledge. E.g. blog posts, stackoverflow questions/answers
Share interesting and useful bits of your knowledge with the class by giving short talks, to be done in CS3282 later (refer Lightning Talks deliverables explained below)
Bigger code bases take time to learn. You can set up the project and start contributing before the semester starts. Even prior work can be counted for course grading later.
Dive deeper into the primary programming language of your intended project. Writing code for big projects require a lot more than a basic knowledge of the programming language. If you are weak in any of the main programming languages used in the project, start learning them now.
Project | Languages | Tools |
---|---|---|
MarkBind | JavaScript, CSS | Node.js, NunJucks |
RepoSense | Java, CSS, HTML, JavaScript | Jade, Gradle, Cypress |
CATcher | TypeScript, CSS, HTML, Python | Electron |
SE-EDU | Java, CSS | Gradle, Jekyll |
TEAMMATES | (backend) Java (frontend) HTML, SCSS, TypeScript | (backend) Gradle (frontend) Node.js, Angular (others) Selenium, Docker |
All internal projects use Git. Learn advanced Git features such as rebase, squash, blame, bisect, etc. Other tools you can learn are given in the table above.
The following are the main parts of the module:
You can choose a combination of the following optional components to make up the remaining 25%:
THU 1400-1600 in COM1-0204 (or online)
Objective : To learn to manage a project.
Contribute as a senior developer to the NUS-OSS project you joined in CS3281. Typical work includes reviewing and managing PRs, guiding new contributors, process improvements, other administrative tasks. You can also tackle development tasks that are too difficult for newer developers.
Deliverables:
Contributions to the project as a senior developer, and possibly, an area-lead-in-training.
Ideally, at the end of the semester, you should reach a level in which you can at least shoulder some of the project-lead level responsibilities, technical and managerial.
Grading:
One important way you can establish credibility as an 'Expert' is by educating others about your expert area and evangelizing it. Lightning Talks is meant to promote that aspect.
This component is measured based on peer evaluations and instructor observations
Objective : To learn to work with big OSS projects.
You can choose any OSS project as your External project, provided it is be a big mature external project with an established community and experienced developers.
Some sources of potential external projects:
If you are not making good progress with the chosen project by week 5, you should switch to a different project. +
The following are the main parts of the course:
You can choose a combination of the following optional components to make up the remaining 25%:
THU 1400-1600 in COM1-0204 (or online)
Objective : To learn to manage a project.
Contribute as a senior developer to the NUS-OSS project you joined in CS3281. Typical work includes reviewing and managing PRs, guiding new contributors, process improvements, other administrative tasks. You can also tackle development tasks that are too difficult for newer developers.
Deliverables:
Contributions to the project as a senior developer, and possibly, an area-lead-in-training.
Ideally, at the end of the semester, you should reach a level in which you can at least shoulder some of the project-lead level responsibilities, technical and managerial.
Grading:
One important way you can establish credibility as an 'Expert' is by educating others about your expert area and evangelizing it. Lightning Talks is meant to promote that aspect.
This component is measured based on peer evaluations and instructor observations
Objective : To learn to work with big OSS projects.
You can choose any OSS project as your External project, provided it is be a big mature external project with an established community and experienced developers.
Some sources of potential external projects:
If you are not making good progress with the chosen project by week 5, you should switch to a different project. Or you can try multiple projects at the same time. "The project was too slow to respond" is not a valid excuse.
The work under this part is cumulative i.e. the work can be in more than one qualifying projects. Even work done before the semester can be counted.
Deliverables:
Grading:
Contribute to another NUS-OSS project.
Deliverables are similar to CS3281.
Grading:
Contribute to another NUS-OSS project.
Deliverables are similar to CS3281.
Current focus:
Mentors
@kkangs0226
)@chunweii
)@luminousleek
)@anubh-v
) (industry)1Current focus:
Current focus:
Mentors
@kkangs0226
)@chunweii
)@luminousleek
)@anubh-v
) (industry)1Current focus:
Mentors
@jonahtanjz
)@jovyntls
)@raysonkoh
)@tlylt
)@ong6
)@acjh
) (industry)1@ang-zeyu
) (industry)1@Gisonrg
) (industry)1Current focus:
Mentors
@jonahtanjz
)@jovyntls
)@raysonkoh
)@tlylt
)@ong6
)@acjh
) (industry)1@ang-zeyu
) (industry)1@Gisonrg
) (industry)1Current focus:
Mentors
@chan-j-d
)@dcshzj
)@HCY123902
)@yhtMinceraft1010X
)@Zhou-Jiahao-1998
)@eugenepeh
) (industry)1@Tejas2805
) (industry)1Current focus:
Mentors
Current SE-EDU team
Current focus:
Mentors
@daongochieu2810
)@samuelfangjw
)@jianhandev
)@hhdqirui
)@zhaojj2209
)@madanalogy
) (industry)1@wkurniawan07
) (industry)1@ypinhsuan
) (industry)1[1] Those marked as industry are not official mentors. They are past developers who are still willing to provide moral support and help out in an advisory role when their input is required.
Mentors
@chan-j-d
)@dcshzj
)@HCY123902
)@yhtMinceraft1010X
)@Zhou-Jiahao-1998
)@eugenepeh
) (industry)1@Tejas2805
) (industry)1Current focus:
Mentors
Current SE-EDU team
Current focus:
Mentors
@daongochieu2810
)@samuelfangjw
)@jianhandev
)@hhdqirui
)@zhaojj2209
)@madanalogy
) (industry)1@wkurniawan07
) (industry)1@ypinhsuan
) (industry)1[1] Those marked as industry are not official mentors. They are past developers who are still willing to provide moral support and help out in an advisory role when their input is required.
CS3281 and CS3282 (Officially known as Thematic Systems Project I & II for legacy reasons, a more apt name would be Software Engineering in Live Projects) aim to build up your ability to work with software systems currently in-use, to build up your SE capabilities towards levels expected from engineers working at high-end software companies. Special emphasis will be placed on maintainability, efficiency, scalability, and reliability. You will work under the guidance of mentors some of whom are currently working in the industry. Both modules involve working in OSS projects that are currently being used by others.
These two modules are offered in Semester 2 only.
You will not be allowed to take both modules concurrently. Instead, you'll have to take CS3281 first and come back for CS3282 in a subsequent semester.
Prerequisites : CS2103/T or CS2113/T (with approval)
CS3281 and CS3282 (Officially known as Thematic Systems Project I & II for legacy reasons, a more apt name would be Software Engineering in Live Projects) aim to build up your ability to work with software systems currently in-use, to build up your SE capabilities towards levels expected from engineers working at high-end software companies. Special emphasis will be placed on maintainability, efficiency, scalability, and reliability. You will work under the guidance of mentors some of whom are currently working in the industry. Both courses involve working in OSS projects that are currently being used by others.
These two courses are offered in Semester 2 only.
The two courses cannot be taken concurrently. Instead, you'll have to take CS3281 first and come back for CS3282 in a subsequent semester.
Prerequisites : CS2103/T or CS2113/T (with approval)
Students will be assessed on each module separately, based on their contributions to the project, and their skills/expertise gained. Both modules are 100% CA with no final exam.
The class enrollment is capped at 20 students due to resource constraints.
There is a soft lower bound for studentsβ CAP of 3.9; you may still apply for CS3281&2 if they have a CAP -below 3.9, provided you can show evidence of a strong passion for software engineering e.g., side projects done.
To get the full value of these module pair, you are encouraged to stay involved with the projects beyond the semester time to experience leading/managing live projects. Furthermore, this module depends on past students mentoring current students. Such work can count for CS3282 and possibly be paid.
Please do not apply if you are not sincerely interested in staying with the projects beyond the semester to become project mentors.
Student selection is not based on ModReg. Instead, submit your application using this application form (requires NUSNET login, requires you to upload the latest transcript).
β° Interested students are to complete the application process by Mon 5th December 2022. Late applications will not be entertained.
The outcome of all applications are expected to be released via email around 21 December 2022.
A good way to increase your chances of getting selected is to start contributing to an NUS-OSS project before you apply for the module. The more you have contributed, the more you will score in criterion 1 above.
Even contributions around the application period (up to 2 weeks after the application deadline) can count. All the NUS-OSS projects have some guidance on how to get started on contributing -- if you need more help, go ahead and post a help request in the project's issue tracker.
Q: Can I apply to both CS3217 and CS3281?
+Pick a few SE-related expertise areas (of your choice) that can enhance your SE career prospects -- a tool/technology e.g. Node.js, Cloud, an aspect e.g. Code quality, a language e.g. Kotlin, Go -- and develop a demonstrable expertise in that area.
Students will be assessed on their contributions to the project, and their skills/expertise gained. Both courses are 100% CA with no final exam.
The class enrollment is capped at 20 students due to resource constraints.
There is a soft lower bound for studentsβ of 3.9; you may still apply for CS3281&2 if they have a GPA below 3.9, provided you can show evidence of a strong passion for software engineering e.g., side projects done.
To get the full value of these course pair, you are encouraged to stay involved with the projects beyond the semester time to experience leading/managing live projects. Furthermore, this course depends on past students mentoring current students. Such work can count for CS3282 and possibly be paid.
Please do not apply if you are not sincerely interested in staying with the projects beyond the semester to become project mentors.
Student selection is not based on CourseReg. Instead, submit your application using this application form (requires NUSNET login, requires you to upload the latest transcript).
β° Interested students are to complete the application process by Mon 11th December 2023. Late applications will not be entertained.
The outcome of all applications are expected to be released via email around Wed 27 December 2023.
A good way to increase your chances of getting selected is to start contributing to an NUS-OSS project before you apply for the course. The more you have contributed, the more you will score in criterion 1 above.
Even contributions around the application period (up to 2 weeks after the application deadline) can count. All the NUS-OSS projects have some guidance on how to get started on contributing -- if you need more help, go ahead and post a help request in the project's issue tracker.
Q: Can I apply to both CS3217 and CS3281?
A: Yes. If you get places in both, you will be given time to decide which one to take.
Q: What's the difference between CS3217 and CS3281&2?
-A: Here are some similarities/differences:
CS3217 | CS3281&2 |
---|---|
design and deliver a complete product -- includes an individual project (6 weeks) and a team project (6 weeks) | work with existing applications that are currently in use (higher focus downstream value addition such as reliability, scalability, security, maintainability, etc.) |
typically involves iOS ecosystem + other modern frameworks/platforms | low involvement of iOS ecosystem but involves other modern application frameworks/platforms |
small intake (~40-50), via a selection process, hard to get in | small intake (~20), via a selection process, hard to get in |
done over one semester, although most students also take CS3216 | done over two semesters, with a gap in-between (i.e., takes at least 1.5 academic years to complete) |
expects you to design and deliver a good product by the end of the semester | expects you to manage and evolve an existing product over a longer period, guided by past devs, while guiding new devs (in later stages) |
high workload, intended for strong programmers only | high workload, intended for strong programmers only |
Q: Can I take this module while doing ATAP/SIP?
+A: Here are some similarities/differences:
CS3217 | CS3281&2 |
---|---|
design and deliver a complete product -- includes an individual project (6 weeks) and a team project (6 weeks) | work with existing applications that are currently in use (higher focus downstream value addition such as reliability, scalability, security, maintainability, etc.) |
typically involves iOS ecosystem + other modern frameworks/platforms | low involvement of iOS ecosystem but involves other modern application frameworks/platforms |
small intake (~40-50), via a selection process, hard to get in | small intake (~20), via a selection process, hard to get in |
done over one semester, although most students also take CS3216 | done over two semesters, with a gap in-between (i.e., takes at least 1.5 academic years to complete) |
expects you to design and deliver a good product by the end of the semester | expects you to manage and evolve an existing product over a longer period, guided by past devs, while guiding new devs (in later stages) |
high workload, intended for strong programmers only | high workload, intended for strong programmers only |
Q: Can I take this course while doing ATAP/SIP?
A: No. Reason: You need to be available during working hours for lectures and project meetings.
Q: For CS3281, can I choose a project that is not one of the NUS-OSS projects?
-A: No. Reason: As 100% of your CS3281 module grade depends on your project work, you need to work in a project that is fully under our control.
Q: Can CEG students take this module?
-A: Yes.
Q: If selected for both CS3217 and CS3281&2, can I take both?
-A: Discouraged (but allowed). Reason: all three modules have high workload.
Please direct any questions to CS3281&2 module coordinator Dr Damith Rajapakse damith [at] comp.nus.edu.sg
Q: Can CEG students take this course?
+A: Yes, with approval.
Q: If selected for both CS3217 and CS3281, can I take both?
+A: Discouraged (but allowed). Reason: both courses have high workload.
Please direct any questions to CS3281&2 course coordinator Dr Damith Rajapakse damith [at] comp.nus.edu.sg
The schedule for future weeks is tentative, given as a reference only. The prof will finalize the details of a week near to the start of the week, although major changes are highly unlikely.
nusossprojects
slack channel when you receive the invitation. As our projects use slack for chats, please keep slack running (and notifications enabled) during periods in which you are actively involved in our projects (or check slack at least once a day).The schedule for future weeks is tentative, given as a reference only. The prof will finalize the details of a week near to the start of the week, although major changes are highly unlikely.
nusossprojects
slack channel when you receive the invitation. As our projects use slack for chats, please keep slack running (and notifications enabled) during periods in which you are actively involved in our projects (or check slack at least once a day).Keep records of your work
As you learn the codebase, investigate issues, learn related tools etc., try to get them recorded somewhere. Some options:
Reasons: It increases the visibility of your work. Those records can be useful references to you and others.
Don't worry if your RepoSense graph doesn't have as many ramps as others. Data shown on the RepoSense report are not directly comparable across projects or even within a project, as different projects have different commit rates and the nature of one dev's work may be very different from another. The RepoSense report is just a means for conveniently accessing your work in one page, and also a means of stress testing RepoSense.
Recess
By the end of this semester, we expect you to,
Keep records of your work
As you learn the codebase, investigate issues, learn related tools etc., try to get them recorded somewhere. Some options:
Reasons: It increases the visibility of your work. Those records can be useful references to you and others.
Don't worry if your RepoSense graph doesn't have as many ramps as others. Data shown on the RepoSense report are not directly comparable across projects or even within a project, as different projects have different commit rates and the nature of one dev's work may be very different from another. The RepoSense report is just a means for conveniently accessing your work in one page, and also a means of stress testing RepoSense.
Recess
By the end of this semester, we expect you to,
If you can't work out a plan that achieves the above, you can seek guidance from the seniors and/or the prof as well.
As you are now entering the managing phase, get more involved in management activities of the project.
Help to maintain a healthy supply of beginner-friendly issues: If you encounter small non-urgent issues (so called 'low hanging fruits'), it is best to leave them for future new contributors, because we expect several new contributors to join the project during the upcoming summer.
In fact, go the extra mile to create such issues when you can, as a good supply of such beginner-friendly issues is an essential asset for an OSS project.
As we are now reaching the end of the semester:
Soft deadline: end of week 13; hard deadline: end of reading week
As you are now entering the managing phase, get more involved in management activities of the project.
Help to maintain a healthy supply of beginner-friendly issues: If you encounter small non-urgent issues (so called 'low hanging fruits'), it is best to leave them for future new contributors, because we expect several new contributors to join the project during the upcoming summer.
In fact, go the extra mile to create such issues when you can, as a good supply of such beginner-friendly issues is an essential asset for an OSS project.
As we are now reaching the end of the semester:
Soft deadline: end of week 13; hard deadline: end of reading week
The purpose of this activity is to encourage you to read SE books.
Steps:
Try to finish the above by the end of the recess week.
You are welcome to do more than one book/chapter too.
progress.md
and knowledge.md
, in the nus-cs3281/2023 repo periodically.
-progress.md
: Your contributions to the internal project(s). Update similar to how you did in CS3281.knowledge.md
: Keep evolving your knowledge.md
to showcase things you have learned in various areas (e.g., your chosen expertise areas): resources explored, lessons learned, deliverables produced, etc.If you haven't already,
Give priority to applying the techniques covered in week 2 lecture even if you feel like they are cramping your natural presentation style or you can do better without them. Harmonizing your style with the new techniques can come later. In particular, WIIFY, Key Points, and Impact should be the driving forces of your presentation. Figure them out at the start of your preparations, not as an afterthought.
Try to follow these steps in the given order:
Define the intended impact of the talk.
get audience to switch to technology X
), not just know and believe components (e.g., tell audience about X
). The do component will make the talk motivational and higher-impact; without it, the talk will be simply informational.Find a WIIFY i.e., a good reason for the audience to follow your CtA. The WIIFY can work better if it relates to this specific audience at a concrete level.
-For example, explaining how Foo technology can benefit SoC students right now
is better than making a general claim that Foo is a useful technology
. Sometimes realizing that βthere is a cool technology out there benefiting many others, but it is not accessible to me right nowβ can be a turn off.
-If you cannot find a convincing WIIFY, reconsider the topic as there is a risk that the audience may not find the talk useful.
Choose key points that help you achieve that impact. Be clear about your key points.
how to use X
is a topic while X is easy to use
is a point. In the past years, I found that some students still confused points with topics. A point forms a sentence e.g., The tool X is easy to use.
whereas a topic may not e.g., Tool X usage
.a
, b
, c
, you should be able to say "a
; b
; c
; therefore, CtA
" e.g., "X is fast
; X is free
; X is getting popular
; therefore, switch to X!
"Decide the talk roadmap (aka the agenda, or the promise). They may be similar to key points but not necessarily the same. The roadmap can be topics (rather than points) and can be questions (rather than answers).
Roadmap | Key points |
---|---|
What is X? Demo of X Benefits of X | X is fast X is free X is getting popular |
Find a PUNCH. This is hard, but give it your best shot. One good tactic is to find an extreme example of a pain point that can be solved by your topic e.g, if your CtA is switch to X
, you can start with an example that shows how bad something can be without X.
Design the slides.
There are two categories of tools for doing Bar which is an essential part in building apps. Category 1 tools work inside-out and Category 2 tools work outside-in. Tool X is the currently a hot tool in category 2 because it is faster and more secure than other popular tools in that category, namely Y and Z.
Thank You
or Q&A
)Start the talk with a PUNCH, WIIFY, and the Roadmap. Avoid the traditional My name is A, my topic is B
type start.
End the talk with key points and CtA. It is also good to reiterate WIIFY together with key points.
Test your laptop connection to the projector in advance.
β° by Thursday midnight:
β° by Friday midnight:
Feel free to continue the discussion about each talk in the issue tracker.
Recess
For your reference, below are the instructions given to CS3281 students regarding their plan for the second half of the semester.
By the end of this semester, we expect you to,
- deliver substantial value to the project, which may be through developing a fairly big feature +
The purpose of this activity is to encourage you to read SE books.
Steps:
Try to finish the above by the end of the recess week.
You are welcome to do more than one book/chapter too.
progress.md
and knowledge.md
, in the nus-cs3281/2024 repo periodically.
+progress.md
: Your contributions to the internal project(s). Update similar to how you did in CS3281.knowledge.md
: Keep evolving your knowledge.md
to showcase things you have learned in various areas (e.g., your chosen expertise areas): resources explored, lessons learned, deliverables produced, etc.If you haven't already,
Give priority to applying the techniques covered in week 2 lecture even if you feel like they are cramping your natural presentation style or you can do better without them. Harmonizing your style with the new techniques can come later. In particular, WIIFY, Key Points, and Impact should be the driving forces of your presentation. Figure them out at the start of your preparations, not as an afterthought.
Try to follow these steps in the given order:
Define the intended impact of the talk.
get audience to switch to technology X
), not just know and believe components (e.g., tell audience about X
). The do component will make the talk motivational and higher-impact; without it, the talk will be simply informational.Find a WIIFY i.e., a good reason for the audience to follow your CtA. The WIIFY can work better if it relates to this specific audience at a concrete level.
+For example, explaining how Foo technology can benefit SoC students right now
is better than making a general claim that Foo is a useful technology
. Sometimes realizing that βthere is a cool technology out there benefiting many others, but it is not accessible to me right nowβ can be a turn off.
+If you cannot find a convincing WIIFY, reconsider the topic as there is a risk that the audience may not find the talk useful.
Choose key points that help you achieve that impact. Be clear about your key points.
how to use X
is a topic while X is easy to use
is a point. In the past years, I found that some students still confused points with topics. A point forms a sentence e.g., The tool X is easy to use.
whereas a topic may not e.g., Tool X usage
.a
, b
, c
, you should be able to say "a
; b
; c
; therefore, CtA
" e.g., "X is fast
; X is free
; X is getting popular
; therefore, switch to X!
"Decide the talk roadmap (aka the agenda, or the promise). They may be similar to key points but not necessarily the same. The roadmap can be topics (rather than points) and can be questions (rather than answers).
Roadmap | Key points |
---|---|
What is X? Demo of X Benefits of X | X is fast X is free X is getting popular |
Find a PUNCH. This is hard, but give it your best shot. One good tactic is to find an extreme example of a pain point that can be solved by your topic e.g, if your CtA is switch to X
, you can start with an example that shows how bad something can be without X.
Design the slides.
There are two categories of tools for doing Bar which is an essential part in building apps. Category 1 tools work inside-out and Category 2 tools work outside-in. Tool X is the currently a hot tool in category 2 because it is faster and more secure than other popular tools in that category, namely Y and Z.
Thank You
or Q&A
)Start the talk with a PUNCH, WIIFY, and the Roadmap. Avoid the traditional My name is A, my topic is B
type start.
End the talk with key points and CtA. It is also good to reiterate WIIFY together with key points.
Test your laptop connection to the projector in advance.
β° by Thursday midnight:
β° by Friday midnight:
Feel free to continue the discussion about each talk in the issue tracker.
Recess
For your reference, below are the instructions given to CS3281 students regarding their plan for the second half of the semester.
By the end of this semester, we expect you to,
- deliver substantial value to the project, which may be through developing a fairly big feature (working solo or with others) or doing a bunch of tasks in a specific area,
- more importantly, to gain expertise in a substantial part of the codebase -(while being fairly familiar with the rest).
If you can't work out a plan that achieves the above, you can seek guidance from the seniors and/or the prof as well.
Deliverables for you (i.e., CS3282 mentors):
Tips for round B
Make slides more visual:
Instead of bullet points, use other suitable visual structures e.g., a flow chart
Instead of text, use graphical forms
But avoid visual clutter such as background graphics that do not add value
Given below is a video containing some slide design tips:
Make the point clear:
Animate meaningfully: Use animations/transitions to enhance the meaning of your slide content.
Use the Click-Look-Recall technique instead of using cue cards:
For reference: Tips from round A
If you can't work out a plan that achieves the above, you can seek guidance from the seniors and/or the prof as well.
Deliverables for you (i.e., CS3282 mentors):
Tips for round B
Make slides more visual:
Instead of bullet points, use other suitable visual structures e.g., a flow chart
Instead of text, use graphical forms
But avoid visual clutter such as background graphics that do not add value
Given below is a video containing some slide design tips:
Make the point clear:
Animate meaningfully: Use animations/transitions to enhance the meaning of your slide content.
Use the Click-Look-Recall technique instead of using cue cards:
For reference: Tips from round A
As CS3281 students are now entering the managing phase, get them more involved in management activities of the project.
As CS3281 students are now entering the managing phase, get them more involved in management activities of the project.
https://github.com/nus-cs3281/2023/students/yourName/observations.md
.Help to maintain a healthy supply of beginner-friendly issues: If you encounter small non-urgent issues (so called 'low hanging fruits'), it is best to leave them for future new contributors, because we expect several new contributors to join the project during the upcoming summer.
In fact, go the extra mile to create such issues when you can, as a good supply of such beginner-friendly issues is an essential asset for an OSS project.
https://github.com/nus-cs3281/2024/students/yourName/observations.md
.Help to maintain a healthy supply of beginner-friendly issues: If you encounter small non-urgent issues (so called 'low hanging fruits'), it is best to leave them for future new contributors, because we expect several new contributors to join the project during the upcoming summer.
In fact, go the extra mile to create such issues when you can, as a good supply of such beginner-friendly issues is an essential asset for an OSS project.
Targets for LT Round C
In this round you are expected to hit almost all targets(π―) given below. You are recommended to follow tips (π‘) given under each target closely.
Talk structure
Slide design
Key point
in text so that they are hard to missKEY POINT: Java is verbose!
Java is still the most popular language today.
-* Java positions lead job vacancies.
-* Highest percentage of devices support JVM.
-* All fortune 500 companies use Java for their enterprise systems.
-
Java is still the most popular language today.
(i.e., the main point) instead of Java popularity
(i.e., a phrase/topic)Delivery
"I think this is a very important topic to you because ..."
"In the next few minutes, I'm going to talk about (a)... (b)... and (c)"
"So, the key point here is ..."
to draw attention to it."Thank you!"
and if applicable, "I'm ready for your questions"
to indicate the end of your talk.Targets for LT Round C
In this round you are expected to hit almost all targets(π―) given below. You are recommended to follow tips (π‘) given under each target closely.
Talk structure
Slide design
Key point
in text so that they are hard to missKEY POINT: Java is verbose!
Java is still the most popular language today.
+* Java positions lead job vacancies.
+* Highest percentage of devices support JVM.
+* All fortune 500 companies use Java for their enterprise systems.
+
Java is still the most popular language today.
(i.e., the main point) instead of Java popularity
(i.e., a phrase/topic)Delivery
"I think this is a very important topic to you because ..."
"In the next few minutes, I'm going to talk about (a)... (b)... and (c)"
"So, the key point here is ..."
to draw attention to it."Thank you!"
and if applicable, "I'm ready for your questions"
to indicate the end of your talk.