CS2281: Programming in UNIX

advertisement
CS2281: Programming in
UNIX
Semester 3, 2004/05
CS2281: Programming in UNIX – p.1/13
Syllabus
• C Programming
• UNIX Shell Programming
• UNIX Systems Call
• Programming Tools
CS2281: Programming in UNIX – p.2/13
Goals
• Get familiar with UNIX programming
environment
• Learn the philosophy of UNIX
CS2281: Programming in UNIX – p.3/13
Teaching Style
• Student centered learning
• No lecture notes
• Lots of demo - source code and video
recording will be distributed.
CS2281: Programming in UNIX – p.4/13
Learning Style
• Nothing to remember (open book tests
and exams).
• Learning by doing and refering to
references.
• When in doubt, write small program to
test.
• Get your hands dirty!
CS2281: Programming in UNIX – p.5/13
Time Table
• Lecture: Mon and Thu, 10am 12noon, SR1
• Lab: Fri, 10am - 12noon, PL3
• Office Hours: Tue, 10am - 12noon,
SOC1, 04-20
CS2281: Programming in UNIX – p.6/13
Continuous Assessments
• 50%: Programming Assignments
• 30%: Two Practical Tests
• 20%: Final Exam
CS2281: Programming in UNIX – p.7/13
Plagiarism Warning
• I practice zero-tolerance policy for
plagiarism.
• School’s policy: zero mark for
assignment and final grade lowered by
one grade point.
CS2281: Programming in UNIX – p.8/13
Assessment Principles
• Ability to write and debug programs in
UNIX
• Understand the basic concepts of
programming in UNIX
• Will NOT test on obfuscated language
syntax such as char (*(*x())[])()
or "weird" statement such as i = i++.
CS2281: Programming in UNIX – p.9/13
Working Environment
• Official programming environment:
sunfire
• In class demonstration using Intel
machine and Linux.
CS2281: Programming in UNIX – p.10/13
Website
• Not using IVLE.
• Use newsgroup SoC.acad.level2 on
bbs instead of IVLE forum for
discussion.
• Main website will be
http://www.comp.nus.edu.sg/˜cs2281
CS2281: Programming in UNIX – p.11/13
Background
• Java
• Basic knowledge of using UNIX (ls,
cd, mkdir etc.)
• Knowledge of a programmer’s editor,
vim or emacs recommended. No pico
please.
CS2281: Programming in UNIX – p.12/13
C and UNIX
• Invented together at Bell Labs.
• C: low-level language for
implementing UNIX
• UNIX: a simple and elegent OS
• See "Bell Lab’s History of UNIX".
CS2281: Programming in UNIX – p.13/13
Download