Introduction CIS 1057 Fall 2013 1 CIS 1057 Computer Programming in C Dr. Anwar Mamat Fall 2013 Acknowledgement: Many slides based on/borrowed from Professor Hugh C. Lauer Slides include materials from The C Programming Language, 2 nd edition, by Kernighan and Ritchie and from C: How to Program, 5 th and 6 th editions, by Deitel and Deitel)
CIS 1057 Computer Programming in C. Dr. Anwar Mamat Fall 2013 Acknowledgement: Many slides based on/ borrowed from Professor Hugh C. Lauer - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
IntroductionCIS 1057 Fall 2013 1
CIS 1057 Computer Programming in C
Dr. Anwar MamatFall 2013
Acknowledgement: Many slides based on/borrowed from Professor Hugh C. Lauer
Slides include materials from The C Programming Language, 2nd edition, by Kernighan and Ritchie and from C: How to Program, 5th and 6th editions, by Deitel and Deitel)
IntroductionCIS 1057 Fall 2013 2
Course Objectives
• C language programming• Designing, implementing, debugging, etc.
• How the hardware executes C programs• … and other kinds of programs
• Preparation for computational challenges of engineering, scientific, and other professions
• Preparation for upper-level courses in computing
• “Thinking computationally”
IntroductionCIS 1057 Fall 2013 3
Why?
• Computing and Programming: a life skill for all technical professionals– http://www.youtube.com/watch?
v=dmM_xDzy2nU
• Thinking Computationally: organizing your engineering/scientific/technical thoughts to be amenable to computational solutions
IntroductionCIS 1057 Fall 2013 4
Why C?
• Because we have to!
• Many situations outside of CS where it is only language or system available
• Small, embedded systems, instrumentation, etc.
• Many “low-level” situations that don’t have support for “high-level” languages
• Operating systems, real-time systems, drivers
IntroductionCIS 1057 Fall 2013 5
Why not C?
• C is very low-level• Data structures must be programmed “by hand”• Operations must be done out in “long hand”• No support for “object oriented” design• Marginal support for higher-level thought processes
• Better alternatives available for technical applications
• Verilog, VHDL, System C – semiconductor design• Matlab, SimuLink – physical modeling• LabView – instrumentation and control• Excel – accounting and statistics• SQL – billing and transactions• …
IntroductionCIS 1057 Fall 2013 6
This Course
• Lectures• C programming language, syntax, semantics, etc.• Common data structures that technical professionals
are likely to need or encounter in C
• Programming Assignments• Write programs to exercise various language
constructs and data structures• Mandatory for passing this course
• Lab Sessions• How to use the system, tools, debuggers, etc.• Practical help from TAs, etc.
IntroductionCIS 1057 Fall 2013 7
This Course (continued)
• Wednesdays and Fridays, 9:30–10:50 AM• Tuttleman 401B
• Weekly Lab Sessions• Mondays: 8:00 AM - 9:50 AM WCHMAN 104
• Midterm exam• Oct. 18
• Review session prior to exam on Oct. 16
Closed book, one 8½-by-11 sheet of prepared notes, no calculators or electronics
IntroductionCIS 1057 Fall 2013 8
Prerequisites
• First-level gen-ed math course
IntroductionCIS 1057 Fall 2013 9
Logistics
• Course web site– http://cis.temple.edu/~anwar/CIS1057Fall2013.html– Blackboard
• Professor’s office Hours– Mondays, 10:00-12:00 AM, or by appointment