COP 3330 Object-oriented Programming in C++

Slides:



Advertisements
Similar presentations
COP3330 Object Oriented Programming in C++ Syllabus
Advertisements

Introduction to Computer Programming I CSE 113
Tuesday, December 05, 2006 I hear and I forget, I see and I remember, I do and I understand -Chinese Proverb.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
Introduction to Programming Environments for Secondary Education CS 1140 Dr. Ben Schafer Department of Computer Science.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Introduction to Programming Summer 2010 Akil M. Merchant.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Instructor: Tina Tian. About me Office: RLC 203A Office Hours: Wednesday 1:30 - 4:30 PM or .
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Introduction to Data Structures
Course Information Sarah Diesburg Operating Systems COP 4610.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Course Introduction Andy Wang COP 4530 / CGS 5425 Fall 2003, Section 4.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
1 CS 101 Today’s class will begin about 5 minutes late We will discuss the lab scheduling problems once class starts.
1 COP 3331 Object Oriented Design Spring 2016 Section 001 F 8:00 AM – 10:45 AM CPR 115 Classroom Lecture 3 credit hours Instructor:Dr. Rollins Turner ENB.
COP4610 Principles of Operating Systems Prof. Robert van Engelen Department of Computer Science Florida State University.
1 Computer Science 1021 Programming in Java Geoff Draper University of Utah.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
CSc 120 Introduction to Computer Programing II
CMPT 201 Computer Science II for Engineers
Networking CS 3470, Section 1 Sarah Diesburg
CSE 489/589 Modern Networking Concepts
Course Overview - Database Systems
Andy Wang Object Oriented Programming in C++ COP 3330
Computer Engineering Department Islamic University of Gaza
Networking CS 3470, Section 1 Sarah Diesburg
Course Information and Introductions
CSc 1302 Principles of Computer Science II
Course Introduction – Fall 2014
Lab Introduction Installing Python
Computer Networks CNT5106C
PROBLEM SOLVING AND PROGRAMMING
CSC 135 section 60 or CSC Fall 2017.
Course Information Mark Stanovich Principles of Operating Systems
Send the professor (This is also listed in the syllabus)
Computer Science 102 Data Structures CSCI-UA
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Welcome to CS 1010! Algorithmic Problem Solving.
Course Overview - Database Systems
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Object Oriented Programming in C++ COP 3330
Welcome to CS 1010! Algorithmic Problem Solving.
Andy Wang Operating Systems COP 4610 / CGS 5765
Welcome to CS 1301! Principles of Programming I.
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Accelerated Introduction to Computer Science
Welcome to the First-Year Experience!
Welcome to Physics 1D03 !.
Andy Wang Operating Systems COP 4610 / CGS 5765
How to succeed in my course, part 1
CSCE 221 Professor Lupoli TAMU CSCE 221 Intro.
Introduction To CPSC 233 James Tam Event driven software
Andy Wang Operating Systems COP 4610 / CGS 5765
CS113 Introduction to C Instructor: Hubie Chen Web:
Professor: Shereen Khoja
Warmup Write a function to add two integer parameters and return the result.
Welcome to the First-Year Experience!
CS31 Discussion 1H Fall18: week 1
CS Problem Solving and Object Oriented Programming Spring 2019
Introduction To CPSC 233 James Tam Event driven software
CS201 – Course Expectations
Welcome to the First-Year Experience!
Presentation transcript:

COP 3330 Object-oriented Programming in C++ Introduction Spring 2019

Welcome to COP 3330 Course Website: http://www.cs.fsu.edu/~zhao/cop3330/main.html Almost Everything about the course can be found here Syllabus, announcements, schedules, slides, assignments, resource….. Make sure you check the course website periodically Canvas: assignment submission, grades, quizzes (maybe) Please read the class syllabus, policies, and lecture schedule; ask now if you have questions No recitations the first week! FSU first day attendance policy

Instructor Peixiang Zhao Associate professor at CS@FSU Office: LOV 262 Email: zhao at cs dot fsu dot edu Webpage: www.cs.fsu.edu/~zhao Office hours: Tuesday 2pm – 4pm, or by appointment Email me whenever you have questions. I’d love to hear from all of you! Tell me about the things you are working on, or anything you find interesting 

TAs 2.5 TAs (who?) will be assigned to us this semester Recitations (5 sections) Start from 2nd week Assignments Quizzes Grading exams ….. More information will be provided shortly 

You Why programming? Why C++? What are my expectations from this class? Am I eligible? Am I ready? Prerequisite: C- or better in COP 3014 (or equivalent classes) How to get a CS account? (Resource page) Is COP 3330 hard and challenging? How to ace this class? How to pass this class? How to fail this class? Please read carefully the course policy and the academic honor policy in FSU What’s next after COP 3330?

Why Programming? Why programming is important? https://www.youtube.com/watch?v=Dv7gLpW91DM A new way of thinking and communication A human creative skill acquired by experience Leverage computers/machines to solve problems Science & art Interesting and challenging opportunities to disrupt our life Decent jobs and bright futures ……

Why C++? Popularity TIOBE Index, January 2019

Why C++? Companies

Why C++? Browsers

Why C++? Software

Why C++? Games (Almost Universally)

Why C++? Machines The F-35 Lightning II (Joint Strike Fighter) relies extensively on C++ The Spirit rover was operational for over 6 years when the mission was only planned to run for around 3 months

Why C++? When performance becomes the number one principle When you want to fully control your software/systems When you want to clearly know how computer resources are used …… n. When your boss asks you to do so … So in the right hands its speed and ability to cheaply use resources should be able to surpass other languages!

Why NOT C++? God damn hard! Poor readability and portability “The problem that I have with them today is that... C++ is too complicated.” by Donald Knuth “It does a lot of things half well and it’s just a garbage heap of ideas that are mutually exclusive.” by Ken Thompson Poor readability and portability Lack full-featured standard libraries Lack of reflection, garbage collection, verbose error messages (particular from template metaprogramming) ……

Ken Thompson and Dennis Ritchie, creators of the C language A Brief C++ History K&R created C in 1972 Fast, simple, cross-platform  No objects or classes  Difficult to write code that work generically Tedious when write large programs In 1983, C++ was created by Bjarne Stroustrup Allow the programmer full control if they want it Don’t sacrifice performance except as a last resort Only add features if they solve an actual problem Enforce safety at compile time whenever possible …… Ken Thompson and Dennis Ritchie, creators of the C language

A Brief C++ History C++ C++98 C++03 C++11 C++14 C++17 C++20 1979 1983 1998 2003 2011 2014 2017 2020 C with Classes You are here

Programming Tools Recommendation Unix/Linux, g++/gcc, make Our default platform for assignment evaluation (linprog.cs.fsu.edu) Tmux, vim, YouCompleteMe (Emacs, Atom, Sublime Text 3)… Gdb, valgrind, git, …… Windows: Visual Studio QtCreator JebBrains Clion ……

Our First C++ Program: hello.cpp #include <iostream> int main() { std::cout << "Hello world!" << std::endl; return 0; } Talk is cheap. Show me the code. --- Linus Torvalds

Logistics

Questions