Overview: This module is the second part of a three-part series on introductory programming and problem solving by computing. It continues the introduction that begins in CS1010, and emphasises Object-Oriented Programming (OOP) with application to simple data structures. Topics include object-oriented problem modeling with objects, classes and methods, object-oriented problem formulation and solving, data structure implementation strageties, abstraction and encapsulation of data structures, object-oriented programming constructs, APIs and class libraries, exception handling, lists, linked lists, stacks, queues, hash tables and their algorithmic design, sorting and searching methods, recursive algorithms, and Big-O notation. This module is appropriate for FoE students.
Note: This introductory message will not be prominent the next time you visit this URL again. This behavior is normal. You can view it again by scrolling to the top of this page.
This is the first time Steven runs CS1020E.
As of Monday, 05 September 2016 morning (Week 05), I have 164 students, six less compared to S1 of last AY.
About ~100 are from ISE (pre-allocated) and the other ~70 are from other Engineering courses, Science, some Exchange students, and a few from various other faculties.
Useful information about CS1020E (see CS1020E in nusmods.com) in S1 AY 2016/2017:
(Senior) Lecturer: Dr Steven Halim, the key man behind VisuAlgo that will be used very extensively in the second half of CS1020E under him.
Teaching Assistants (TAs) who will help Steven run the Tutorial+Lab hybrid this semester are:
Their current Tutorial+Lab hybrid assignments, venue, and timings can be found here.
This is what you will learn if you take CS1020 in S1:
If you have any important questions regarding this module, email stevenhalim at gmail dot com. Relevant answers will be posted here to reach wider audiences.
Note: This course registration section will not be prominent from Week 02 onwards (after first lecture). This behavior is normal. You can view it again by scrolling to the top of this page.
Date | News |
---|
Week | Lecture Mon 4-6pm LT15 |
Tutorial+Lab Friday, Various Timings Various Labs, see roster |
|
---|---|---|---|
00, Before 08 Aug |
Not started, but please revise your CS1010(E) |
Not Started | |
01, 08-12 Aug |
L0 - Course Admin.pdf L1 - Basic C++.pdf L1.cpp |
Not started | |
|
|||
02, 15-19 Aug |
L2 - OOP - Part I.pdf L2.cpp Delivered by another lecturer: A/P Tan Sun Teck Because Steven is in Russia for IOI 2016 |
Not Started | |
03, 22-26 Aug |
L3 - OOP - Part II.pdf L3.cpp |
T1.pdf, T1_ans.pdf Basic C++ and OOP - Part 1 |
|
04, 29 Aug-02 Sep |
L4 - Useful Features in C++.pdf L4.cpp |
T2.pdf, T2_ans.pdf OOP - Part 2 |
|
05, 05-09 Sep |
L5 - ADT.pdf (Abstract Data Type) Start L6a - List ADT.pdf (Array, for Week06 Tut+Lab) L5 - ComplexNumber.zip, L6 - List.zip, VA - Single Linked List |
T3.pdf, T3_ans.pdf C++ Features: Template/Pair/Triple?/ Vector/Iterator/Unique/String/StringStream, etc |
|
06, 12-16 Sep |
Lecture cancelled due to Public holiday on Mon, 12 Sep 16 (Hari Raya Haji) Make up lecture during Recess Week |
T4.pdf, T4_ans.pdf ADTs, Lists - Part 1 Practical Exam 1 (10%) Date and Time: Friday, 16 September 2016, 7-9pm Venues: PL2 (46), 3 (25), 4 (23), 5 (25), 6 (27), 113 (24), 114 (24) Topics: C++ and OOP (includes ADT List - Array based, first part of L6a, excluding Linked List) Please read the Sample Instructions (2 pages) before attending the PE1. |
|
Recess Week |
MAKE UP LECTURE CANCELLED Make up Lecture on Mon, 19 Sep 16, 4-6pm at LT15 is cancelled, just enjoy your recess week PE1 debrief will be just a short one via mass email Please prepare Midterm Test by yourself |
No Tutorial+Lab nor Take Home Lab |
|
07, 26-30 Sep |
Then L6b - Linked List Variations.pdf VA - Single Linked List, VA - Doubly Linked List, C++ STL list |
T5.zip, T5_ans.pdf Lists - Part 2 |
|
08, 03-07 Oct |
L7a - Stack ADT.pdf and L7b - Queue ADT.pdf L7 - Stack-Queue.zip VA - Stack, VA - Queue, VA - Deque (optional) |
T6.pdf, T6_ans.pdf Stack and Queue Midterm Test Preparation |
|
Date and Time: Saturday, 08 October 2016, 10am-12pm (effective 10.05-11.45am, 100m) Venue: iCube Auditorium (capacity 348) Open Book (now no restriction, this overrides the statement about helpsheet on L0 - Course Admin), just no electronic device You can re-read the question paper here (solution file will be emailed to you to make it slightly harder for your junior to get the file) |
|||
09, 10-14 Oct |
L8 - Recursion.pdf L8 - Recursion.zip VA - Recursion |
T7.pdf, T7_ans.pdf Recursion Lab 5 overview Midterm Test Debrief |
|
10, 17-21 Oct |
L9 - Analysis of Algorithms.pdf L9 - useful_formulas.pdf |
T8.pdf, T8_ans.pdf Algorithm Analysis |
|
11, 24-28 Oct |
L10 - Sorting.pdf L10.cpp VA - Sorting |
T9.pdf, T9_ans.pdf Sorting |
|
|
|||
12, 31 Oct- 04 Nov |
L11 - Hashing.pdf VA - Hash Table Last examinable material of CS1020E |
T10.pdf, T10_ans.pdf Hashing Preparation for PE2 Practical Exam 2 (20%) Date and Time: Friday, 04 November 2016, 7-9pm Venues: PL2 (46), 3 (25), 4 (23), 5 (25), 6 (27), 113 (24), 114 (24) Topics: Everything except Hashing (that will be for final assessment) Please read the Sample Instructions (2 pages) before attending the PE2. |
|
13, 07-11 Nov |
L12 - WrappingUp.pdf Wrapping Up, tie loose ends Mix and Match Deeper Problem Solving Skills (with past papers) Final assessment preview VisuAlgo Online Quiz preview |
T11.pdf, T11_ans.pdf Problem Solving (somewhat challenging problem) Please also spend at least 20 minutes to do VisuAlgo Online Quiz This part is optional (not graded) for this semester but will graded if Steven runs CS1020E again next AY... Tut+Lab Hybrid Participation marks (3%) |
|
PE2 Debrief (via email) Final Assessment Consultations (per request) |
|||
|
The Tutorial and Laboratory sessions of CS1020E are combined into one hybrid session in the Laboratory setting.
The sessions contain mix of tutorial (theory) and laboratory (practical).
All slots are on Friday.
In the table below, you will see Tutorial+Lab hybrid time (in 24 hours format), venue (all in COM1), and TA name.
No | Hour (on Friday) | Venue | Teaching Assistant |
---|---|---|---|
01 | 10am-12pm | COM1-0114 | Ivan Chew Teck Meng |
02 | 12-14pm | COM1-0114 | Melvin Tan Jun Keong |
03 | 14-16pm | COM1-0114 | Ivan Chew Teck Meng |
04 | 16-18pm | COM1-0114 | Le Xuan Manh |
05 | 10am-12pm | COM1-0120 | Le Xuan Manh |
06 | 12-14pm | COM1-0120 | Luo Pingyi |
07 | 12-14pm | COM1-0113 | Mark Ng Say-Yao |
08 | 16-18pm | COM1-0120 | Abdelhak Bentaleb |
09 | 10am-12pm | COM1-B108 | Closed |
10 | 16-18pm | COM1-B108 | Melvin Tan Jun Keong |