Go to NUS website Go to SoC website CS1020 Data Structures and Algorithms I
   Designed by Aaron Tan | Terms of Use © NUS | 2013-2015  

Module Info...
 Description
 Staff
 Schedules
 Policies

Resources...
 Books
 Online
 Lectures
 Errata

CA...
 Tutorials
 Takehome-Labs
 Sitin-Labs
 Term Tests
 Exams
 CA Marks

Misc...
 Practice Ex
 CS1010 Stuffs

AY2014/5 Semester 2
Miscellaneous - CS1010 Stuffs

This page is for students who want to revise on CS1010. The materials here are taken from CS1010 in AY2014/5 semester 1.

Lecture Plan and Checkpoints

Week Date Topics Others
Preamble Welcome and Admin Matters
CS1010 Student Handbook
 
1 11/8 - 15/8 Unit 1: Computing Fundamentals
Unit 2: Algorithmic Problem Solving | Programs
Week 1 Class activities
Intro Workshop: Go to IVLE forum to indicate your choice of session.
Getting Started with UNIX and CodeCrunch
Objectives: At the end of this session, you (1) should have started familiarising themselves with the sunfire system, the program development process (edit, compile, execute) and the software (SSH/Xshell, vim and gcc) used; and (2) they should have learned about pseudocodes and how to write them to describe algorithms involving the 3 types of control structures: sequence, selection and repetition.
Tip #1 Filenames to avoid in naming your executable files
Tip #2 vim woes
2 18/8 - 22/8 Unit 3: Overview of C Programming
Unit 3: Supplementary Slides
Programs
Week 2 Class activities
CodeCrunch website
Intro to CodeCrunch
Objectives: At the end of this session, you should know (1) the basic structure of a simple C program: preprocessor directives, I/O statements and computation statements (arithmetic operations, conversion of types, and assignment statements); (2) the use of variables and data types; (3) the use of math functions in <math.h>; (4) the guidelines on programming style; and (5) how to use CodeCrunch to submit programs.
Tip #3 Configuring vim
3 25/8 - 29/8 Unit 4: Top-Down Design and Functions | Programs
Unit 5: Selection Statements | Programs
Week 3 Class activities | Programs
Objectives: At the end of this session, you should know about (1) top-down design: dividing a task into sub-tasks and implementing the sub-tasks using functions; (2) using Math functions; and (3) writing selection statements to choose between alternative actions based on the outcome of some condition.
4 1/9 - 5/9 Unit 6: Repetition Statements | Programs
Unit 7: Testing and Debugging
Week 4 Class activities | Programs
Intro to gdb (video)
Objectives: At the end of this session, you should know the three types of repetition structures: while, do-while and for loops and how to use them to solve problems. Issues on testing and debugging are also discussed in this session.
5 8/9 - 12/9 Unit 8: Pointers | Programs
Unit 9: Arrays | Programs
Week 5 Class activities | Programs
Objectives: At the end of this session, you should know about (1) pointers and using them to reference other variables; and (2) a collection of data called array and how to use arrays in problem solving.
6 15/9 - 19/9 Unit 11: Random Numbers | Programs
Unit 12: UNIX I/O Redirection | Programs
Unit 10: Multidimensional Arrays | Programs
Week 6 Class activities | Programs
Objectives: At the end of this session, you should know about (1) how to generate pseudo-random numbers, (2) how to use UNIX I/O redirection, and (3) how to use multi-dimensional arrays.
Recess 22/9 - 28/9  
7 29/9 - 3/10 Revision
Unit 7: Testing and Debugging
Taking Stock
Discussion on PE1
Surveys
Week 7 Class activities
Objectives: This is a revision lecture, to take stock of what have been covered, and what lies ahead. We will also go over the PE1 questions and conduct the mid-semester surveys.
8 6/10 - 10/10 Unit 14: Functions with Pointer Parameters | Programs
Unit 15: File Processing | Programs
Week 8 Class activities | Programs
Objectives: At the end of this session, you should know about (1) how to use pointer parameters for a function to return more than one value to the caller; and (2) how to read data from and write data to text files.
9 13/10 - 17/10 Unit 16: Characters and Strings | Unit 16: Supplementary Slides | Programs
Some clarifications
Week 9 Class activities | Programs
Objectives: At the end of this session, you should know about character functions in <ctype.h>, what exactly is a string, and the use of string functions in <string.h>.
10 20/10 - 24/10 Unit 17: Recursion | Unit 17: Towers of Hanoi | Programs
Week 10 Class activities | Programs
Objectives: At the end of this session, you should know using recursion as a divide-and-conquer design strategy and writing recursive codes.
11 27/10 - 31/10 Unit 18: Searching and Sorting | Programs
Week 11 Class activities | Programs
Objectives: At the end of this session, you should know about some basic searching and sorting algorithms.
12 3/11 - 7/11 Unit 19: Structures | Programs
Week 12 Class activities | Programs
Objectives: At the end of this session, you should know about using structures to store members of heterogeneous types.
13 10/11 - 14/11 Unit 20: C to Java | Programs
Week 13 Class activities | Programs
Objectives: At the end of this session, you should know about the basic Java non-OOP constructs, and able to convert some of your C programs to Java.


Last updated: 22 December 2014