160 likes | 266 Vues
CS351, Programming III: C++ 9:30am-10:20am TR, Biology 202 Two Credit Hours http://cs351.cs.ua.edu,. Xiaoyan Hong SEC 3412 348 4042 Office hours: 10:30 – noon Thur. Monica Anderson SEC 3426 348 1667 Office hours: 2 – 3pm M/W. and. What is in a language?. Grammar Library Tools.
E N D
CS351, Programming III: C++9:30am-10:20am TR, Biology 202 Two Credit Hours http://cs351.cs.ua.edu, • Xiaoyan Hong • SEC 3412 • 348 4042 • Office hours: • 10:30 – noon Thur • Monica Anderson • SEC 3426 • 348 1667 • Office hours: • 2 – 3pm M/W and
What is in a language? • Grammar • Library • Tools
What will be taught? • Basic Data Types and Operations • Control Structures • Methods/Functions • Object-oriented Programming • Event-driven Programming • GUI Components • Multithreading • Networking
How it will be taught? • Basics/Principles • Examples • In class exercises, assignments, projects • more exercises the first half of the semester • More projects the second half of the semester • Exams • Bring own laptop to class • Use programing tools • g++ compiler via bama.ua.edu • Microsoft Visual Studio 2012
How to succeed? • Attend every class meeting • Actively participate in class teaching/learning • Digest every example code after class • Complete every assignment/project • Learn by example • Learn from web
Grading Policy • Mid-term (26%), and final (40%) • In-class exercises, assignments (10%) • About 4 projects (24%) • Class participation (5%)
Textbooks • Ira Pohl, C++ for C Programmers, Third Edition, Addison-Wesley (not required) • Fraser, Pro Visual C++/CLI and the .NET 3.5 Platform, Apress (not required).
Resources • C++ for C Programmers • Publisher site http://www.pearsonhighered.com/educator/product/C-For-C-Programmers-Third-Edition/9780201395198.page • Author site http://users.soe.ucsc.edu/~pohl/cpp3.html • Microsoft Visual Studio Software Resources for CS students about the MSDN Academic Alliance program • .NET Framework Class Library
Additional tutor for 300 level courses (course material) TBA • Office hours w schedulable slots, URL TBA • Locations (SEC 3433) course info
Course Policies • All the exercises, assignments, projects and the exams are to be done individually, unless indicated as team work • Your understanding through the exercises/assignments/ projects are essential to the success in the exams. • Encourage to discuss with peers • Copy-paste is expressly forbidden. For programming projects, it is expected that you have written EVERY LINE OF CODE
Course Policies • Expect to attend all classes • No late turn-in of assignments is accepted for credit. • No make-up exams unless with excusable reasons (show necessary documentations) • No academic misconducts • Turning questions regarding to grading within one week • Only technical discussions regarding to homework, papers, projects, etc., are allowed on the discussion board and chat room on the course web • Accommodate disabilities via university resources
Why not Python? • Python is a prototyping langauge • Python is interpreted • Python is not the fastest running language • Python is not strongly typed (Errors cannot be caught by compiler are runtime errors)
Why C++ • C++ is a strongly typed language • Language constructs designed to catch more errors • C++ is designed to be more efficient • Code has a more specific meaning as to what it becomes in machine langauage • C++ supports higher level programming constructs (object oriented programming, templates, etc)
C++ in action • Write a simple hello.cc (hello world program • Compile the program • Run the program • bama.ua.edu is a UNIX based system with access to a g++ compiler; does not provide a graphical programming toolkit
Demo • Login into bama.ua.edu • Create program using vi • Compile program • Test program through execution
Homework for next Tuesday • Complete the test on Blackboard (python review) • Look up paradigms that you missed (we will not go back and cover python or algorithm development) • Study the operator translation sheet • Assignments, comparisons and arithmetic operators are the same • boolean and, or and not are different • Be ready to start on variable declarations next Tuesday