140 likes | 253 Views
Introduction to Computer Programming (FIT-I pro). J. H. Wang Sep. 17, 2007. Instructor. Instructor J. H. Wang ( 王正豪 ) Assistant Professor, CSIE, NTUT Office: R312-1, Complex Building E-mail: jhwang@csie.ntut.edu.tw Tel: ext. 4238 Office Hour: 10:00-12:00 am, every Wednesday and Thursday
E N D
Introduction to Computer Programming (FIT-I pro) J. H. Wang Sep. 17, 2007
Instructor • Instructor • J. H. Wang (王正豪) • Assistant Professor, CSIE, NTUT • Office: R312-1, Complex Building • E-mail: jhwang@csie.ntut.edu.tw • Tel: ext. 4238 • Office Hour: 10:00-12:00 am, every Wednesday and Thursday • TA • 梁典隆 • R410, Complex Building
Course Overview • Course: Computer Programming (FIT-I pro) • Time: 15:10-18:00pm, Monday • Place: 電算313 (Computer and Network Center) • Textbook: Problem Solving and Program Design in C, 5th edition, by Jeri R. Hanly and Elliot B. Koffman, Addison-Wesley. (新月/東華) • Reference: The C++ Programming Language, 3rd edition, by Bjarne Stroustrup, Addison-Wesley • Prerequisite: Basic computer skills (FIT-I basic: Introduction to Computer Science)
Target Students • For those who • Might not major in CSIE but are interested in information technologies, and • Have accomplished the course FIT-I basic, and • Are preparing to advance to FIT-II (Object-Oriented Programming)
Emphases of Teaching • Basic structure of the programming languages • Programming skill • Problem solving techniques and algorithm design • Basic data structures
Teaching • Lecture • Homework and program assignments • Homework should be turned in within two weeks • Mid-term and final exam
Grading • Homework and program assignments: 50% • Midterm: 25% • Final exam: 25%
Main Topics • Computer organization • To understand the operations of a computer • Computer software • To understand the system software and user programs • Computer programming • To know about programming languages • To learn and practice the programming skills
Course Description • Introduction to computer science • Computer organization • Hardware and software • Introduction to programming • Programming paradigms • Fundamental programming constructs • Fundamental data structures • Algorithm design
Outline & Schedule • Outline • Overview of Computers and Programming • Overview of C • Top-Down Design with Functions • Selection Structures: if and switch Statements • Repetition and Loop Statements • Modular Programming • Simple Data Types • Arrays
Outline & Schedule (Cont’) • Outline (cont’d) • Strings • Recursion • Structure and Union Types • Text and Binary File Processing • Programming in the Large • Dynamic Data Structures • On to C++ • Schedule • Basically, 1 or 2 weeks per chapter
Program Development Environment • Free C Development Environments • GCC on Linux/UNIX servers (ntut.edu.tw) • Windows-based • Dev C++ (http://www.bloodshed.net/devcpp.html) • Cygwin (http://www.cygwin.com/) • MinGW (http://www.mingw.org/) • Commercial tools • Microsoft Visual C++ • Borland C++ • …
Course Web Page • http://www.ntut.edu.tw/~jhwang/CProg/ • http://www.csie.ntut.edu.tw/
Programming language: Why C/C++? • C: Efficiency • C++: Object-oriented programming • Further courses • FIT-II: Object-Oriented Programming • Data Structures • Algorithms