Introduction - CS351 Main Page

advertisement
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
and
Monica Anderson
•SEC 3426
•348 1667
•Office hours:
2 – 3pm M/W
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/CFor-C-Programmers-ThirdEdition/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
9
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
10
4/13/2015
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
11
4/13/2015
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
Download