CS201 RECITATION 1. Introduction to C++

Size: px
Start display at page:

Download "CS201 RECITATION 1. Introduction to C++"

Transcription

1 CS201 RECITATION 1 Introduction to C++

2 Outline Part 1 : Writing and debugging code with CodeBlocks Part 2 : Porting, compiling and testing in Dijkstra Part 3 : Using and understanding header files

3 Part 1: Writing and debugging code with CodeBlocks Consider the following class:

4 Let s modify the GradeBook class such that it keeps the midterm, final, homework, and quiz grades of a particular student as its data members it calculates a letter grade of the student using the computefinalgrade member function that takes four input grades from the user computes the average grade acc. to the following weights midterm (30%), final (35%), homework (15%), quiz (20%) assigns a letter grade according to the table 90 Grade A 80 Grade 89 B 70 Grade 79 C 60 Grade 69 D Grade < 60 Otherwise F U (unkown)

5 Let s do it using CodeBlocks CodeBlocks is an integrated development environment. Make sure you download the IDE with its MinGW compiler.

6 New C++ Project

7 New C++ Project

8 New C++ Project

9 New C++ Project

10 New C++ Project

11 New C++ Project

12 New C++ Project

13 New Source File

14 New Source File

15 New Source File

16 New Source File

17 New Source File

18 GradeBook.cpp

19 GradeBook.cpp

20 GradeBook.cpp

21 GradeBook.cpp Build & Run

22 GradeBook.cpp

23 GradeBook.cpp

24 GradeBook.cpp

25 GradeBook.cpp

26 GradeBook.cpp

27 GradeBook.cpp

28 GradeBook.cpp Alternative: Successfully Compiled!

29 GradeBook.cpp

30 GradeBook.cpp

31 GradeBook.cpp

32 GradeBook.cpp

33 GradeBook.cpp

34 GradeBook.cpp

35 GradeBook.cpp (Debugging) Breakpoint

36 GradeBook.cpp (Debugging)

37 GradeBook.cpp (Debugging) Step into

38 GradeBook.cpp (Debugging)

39 GradeBook.cpp (Debugging)

40 GradeBook.cpp (Debugging) Next line

41 GradeBook.cpp (Debugging)

42 GradeBook.cpp (Debugging) Step out

43 GradeBook.cpp (Debugging)

44 GradeBook.cpp (Debugging) Debug/Continue

45 GradeBook.cpp (Debugging) Step Into : Runs the program until the next instruction is reached. Next Line : Runs the program until the next line of code is reached. Step Out : Runs the program until the current procedure is completed. Step Out Next Line Step Into

46 At Break Point Step Into Next Line Step Out

47 Part 2: Porting, compiling and testing in Dijkstra FileZilla (FTP client) + PuTTY (SSH Client) FileZilla PuTTY SSH Secure Shell

48 Part 2: FileZilla dijkstra.ug.bcc.bilkent.edu.tr

49 Part 2: FileZilla

50 Part 2: FileZilla

51 Part 2: PuTTY

52 Part 2: PuTTY

53 Part 2: PuTTY

54 Part 2: PuTTY

55 Part 2: PuTTY

56 Part 2: PuTTY

57 Part 2: PuTTY The base command for the Gnu C++ compiler is g++ Single File Programs The easiest compilation uses the command format: g++ -o <outputname> <cppfile> Example: g++ -o myexe prog1.cpp Multiple File Programs g++ -o <outputname> <cppfile1> <cppfile2>... Example: g++ -o myprogram thing.cpp main.cpp This command compiles and links the code files "thing.cpp" and "main.cpp" together into the executable program called "myprogram. g++ -o myprogram *.cpp This command compiles and links all the code files with ".cpp" extension.

58 Part 2: SSH Secure Shell

59 Part 2: SSH Secure Shell dijkstra.ug.bcc.bilkent.edu.tr

60 Part 2: SSH Secure Shell

61 Part 2: SSH Secure Shell New File Transfer Window

62 Part 2: SSH Secure Shell

63 Part 2: SSH Secure Shell

64 Part 2: Types of error Compile Time errors Syntax errors Undeclared variables and functions, improper function calls etc. e.g. Forgetting to put semicolon(;) at the end of an instruction. Result : Linker errors Undefined functions or multiply defined functions or symbols e.g. Not including correct header files Not using the correct namespace Result :

65 Run-time errors Fatal Errors Typically cause the program to crash during execution e.g. Trying to access a non-existent memory location. Result : Non-Fatal(Logical) Errors Does not crash the program but produce erroneous results Typically hardest to detect Result : Incorrect program behaviour

66 Part 3: Using header files Why do we need header files? 1. Speeds up compilation time Upon the change of a single line of code; Without headers : All of the code needs to be recompiled With headers : Only changing parts need to be recompiled 2. Keeps the code organized Necessary for big projects Allows multiple people to work on the same project For more info : Headers and Includes: Why and How

67 Part 3: Using header files Back to GradeBook.cpp Let s try and separate this file into multiple files separating the interface of the class from its implementation as well as separating the user program that uses this code.

68 Part 3: Using header files

69 Part 3: Using header files

70 Part 3: Using header files Interface (Header,.h) File

71 Part 3: Using header files Implementation (.cpp) File

72 Part 3: Using header files Main (.cpp) File

73 Part 3: Using header files

74 Part 3: Using header files

Structured programming

Structured programming Exercises 1 Version 1.0, 22 September, 2016 Table of Contents 1. Development environments (IDE)............................................. 1 1.1. Text editor..............................................................

More information

Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs

Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs Linux Tutorial #1 Introduction The Linux operating system is now over 20 years old, and is widely used in industry and universities because it is fast, flexible and free. Because Linux is open source,

More information

CS 261 Recitation 1 Compiling C on UNIX

CS 261 Recitation 1 Compiling C on UNIX Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Compiling C on UNIX Winter 2017 Outline Secure Shell Basic UNIX commands Editing text The GNU Compiler

More information

Linux Survival Guide

Linux Survival Guide Linux Survival Guide Introduction: This guide is intended for use with classes at DACC that use a Linux operating system as the platform for students. It provides a quick summary and examples of how to

More information

Comp Sci 1570 Introduction to C++

Comp Sci 1570 Introduction to C++ guards Comp Sci 1570 Introduction to C++ Outline guards 1 2 guards 3 Outline guards 1 2 guards 3 Modular guards One file before system includes prototypes main driver function function definitions now

More information

Starting to Program in C++ (Basics & I/O)

Starting to Program in C++ (Basics & I/O) Copyright by Bruce A. Draper. 2017, All Rights Reserved. Starting to Program in C++ (Basics & I/O) On Tuesday of this week, we started learning C++ by example. We gave you both the Complex class code and

More information

Working Outside the Lab

Working Outside the Lab Working Outside the Lab Step 1. Connect to the correct WiFi network In order to work on campus your computer must be connected to a secure network. (not the UARK guest Wi-Fi) Step 2. Use ssh to access

More information

Outline. Program development cycle. Algorithms development and representation. Examples.

Outline. Program development cycle. Algorithms development and representation. Examples. Outline Program development cycle. Algorithms development and representation. Examples. 1 Program Development Cycle Program development cycle steps: Problem definition. Problem analysis (understanding).

More information

CS31 Discussion 1E. Jie(Jay) Wang Week1 Sept. 30

CS31 Discussion 1E. Jie(Jay) Wang Week1 Sept. 30 CS31 Discussion 1E Jie(Jay) Wang Week1 Sept. 30 About me Jie Wang E-mail: holawj@gmail.com Office hour: Wednesday 3:30 5:30 BH2432 Thursday 12:30 1:30 BH2432 Slides of discussion will be uploaded to the

More information

CHAPTER 1: PROGRAM DEVELOPMENT LIFE CYCLE. Prepared for: CSC 128 Fundamentals of Computer Problem Solving

CHAPTER 1: PROGRAM DEVELOPMENT LIFE CYCLE. Prepared for: CSC 128 Fundamentals of Computer Problem Solving CHAPTER 1: PROGRAM DEVELOPMENT LIFE CYCLE Prepared for: CSC 128 Fundamentals of Computer Problem Solving Najwa Abd Ghafar UiTM OBJECTIVES OF THIS CHAPTER In this chapter, you will learn about: The steps

More information

CSCI341. Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory

CSCI341. Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory CSCI341 Lecture 22, MIPS Programming: Directives, Linkers, Loaders, Memory REVIEW Assemblers understand special commands called directives Assemblers understand macro commands Assembly programs become

More information

University of Cincinnati Department of Electrical and Computer Engineering EECE180 Software Methods I

University of Cincinnati Department of Electrical and Computer Engineering EECE180 Software Methods I University of Cincinnati Department of Electrical and Computer Engineering EECE180 Software Methods I Laboratory 1. Becoming Acquainted with the CodeBlocks IDE, Compiler, and Debugger Introduction The

More information

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization. August 21, 2018 CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/

More information

HOW TO USE CODE::BLOCKS IDE FOR COMPUTER PROGRAMMING LABORATORY SESSIONS

HOW TO USE CODE::BLOCKS IDE FOR COMPUTER PROGRAMMING LABORATORY SESSIONS HOW TO USE CODE::BLOCKS IDE FOR COMPUTER PROGRAMMING LABORATORY SESSIONS INTRODUCTION A program written in a computer language, such as C/C++, is turned into executable using special translator software.

More information

ZedBoard Tutorial. EEL 4720/5721 Reconfigurable Computing

ZedBoard Tutorial. EEL 4720/5721 Reconfigurable Computing Introduction: In this lab, you will be learning how to create a custom peripheral in the programmable logic on the ZedBoard and how to communicate with that peripheral from software running on the ARM

More information

CS2141 Software Development using C/C++ Compiling a C++ Program

CS2141 Software Development using C/C++ Compiling a C++ Program CS2141 Software Development using C/C++ Compiling a C++ Program g++ g++ is the GNU C++ compiler. A program in a file called hello.cpp: #include using namespace std; int main( ) { cout

More information

Object Oriented Design

Object Oriented Design Object Oriented Design Lecture 3: Introduction to C++ (Continue) Examples using declarations that eliminate the need to repeat the std:: prefix 1 Examples using namespace std; enables a program to use

More information

CS313T ADVANCED PROGRAMMING LANGUAGE

CS313T ADVANCED PROGRAMMING LANGUAGE CS313T ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 1 : Introduction Lecture Contents 2 Course Info. Course objectives Course plan Books and references Assessment methods and grading

More information

Why do some students find programming in C, so difficult? It involves thinking. We have been programmed by our respective school boards not to think.

Why do some students find programming in C, so difficult? It involves thinking. We have been programmed by our respective school boards not to think. In June 2018, I asked to a group of 18,738 students, Why do some students find programming in C, so difficult? The first answer was, It involves thinking. We have been programmed by our respective school

More information

CS 102 Lecture 1. Syllabus, history, intro

CS 102 Lecture 1. Syllabus, history, intro CS 102 Lecture 1 Syllabus, history, intro Contact Info Instructor: Hannah Aizenman Email: haizenm00@ccny.cuny.edu Office: NAC 7/311 Office Hours: After class by appointment 2:00-4:00 T/Th Recitation Instructor:

More information

Lecture 07 Debugging Programs with GDB

Lecture 07 Debugging Programs with GDB Lecture 07 Debugging Programs with GDB In this lecture What is debugging Most Common Type of errors Process of debugging Examples Further readings Exercises What is Debugging Debugging is the process of

More information

C++ Programming Language Lecture 2 Problem Analysis and Solution Representation

C++ Programming Language Lecture 2 Problem Analysis and Solution Representation C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department Program Development Cycle Program development

More information

Computer Programming C++ Classes and Objects 6 th Lecture

Computer Programming C++ Classes and Objects 6 th Lecture Computer Programming C++ Classes and Objects 6 th Lecture 엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University Copyrights 2015 Eom, Hyeonsang All Rights Reserved Outline

More information

CIS 190: C/C++ Programming. Lecture 3 Memory Management in C

CIS 190: C/C++ Programming. Lecture 3 Memory Management in C CIS 190: C/C++ Programming Lecture 3 Memory Management in C Outline Memory allocation Memory errors Debugging Makefiles Memory each process gets its own memory chunk, or address space 0x000000 Stack Function

More information

12. Debugging. Overview. COMP1917: Computing 1. Developing Programs. The Programming Cycle. Programming cycle. Do-it-yourself debugging

12. Debugging. Overview. COMP1917: Computing 1. Developing Programs. The Programming Cycle. Programming cycle. Do-it-yourself debugging COMP1917 12s2 Debugging 1 COMP1917: Computing 1 12. Debugging Overview Programming cycle Do-it-yourself debugging Debugging withgdb Nastier bugs Memory leaks COMP1917 12s2 Debugging 2 Developing Programs

More information

CS 1301 Homework Robot Web Writer

CS 1301 Homework Robot Web Writer CS 1301 Homework Robot Web Writer Due: Friday March 1st, before 11:55pm This is a pair programming assignment! You are expected to work with the person you have been pared with in class, and you are both

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG 1 Notice Class Website http://www.cs.umb.edu/~jane/cs114/ Reading Assignment Chapter 1: Introduction to Java Programming

More information

Using a debugger. Segmentation fault? GDB to the rescue!

Using a debugger. Segmentation fault? GDB to the rescue! Using a debugger Segmentation fault? GDB to the rescue! But first... Let's talk about the quiz Let's talk about the previous homework assignment Let's talk about the current homework assignment K findkey(v

More information

INTERMEDIATE SOFTWARE DESIGN SPRING 2011 ACCESS SPECIFIER: SOURCE FILE

INTERMEDIATE SOFTWARE DESIGN SPRING 2011 ACCESS SPECIFIER: SOURCE FILE HEADER FILE A header (.h,.hpp,...) file contains Class definitions ( class X {... }; ) Inline function definitions ( inline int get_x() {... } ) Function declarations ( void help(); ) Object declarations

More information

Control Statements: Part Pearson Education, Inc. All rights reserved.

Control Statements: Part Pearson Education, Inc. All rights reserved. 1 5 Control Statements: Part 2 2 Not everything that can be counted counts, and not every thing that counts can be counted. Albert Einstein Who can control his fate? William Shakespeare The used key is

More information

sftp - secure file transfer program - how to transfer files to and from nrs-labs

sftp - secure file transfer program - how to transfer files to and from nrs-labs last modified: 2017-01-20 p. 1 CS 111 - useful details: ssh, sftp, and ~st10/111submit You write Racket BSL code in the Definitions window in DrRacket, and save that Definitions window's contents to a

More information

Discussion 1H Notes (Week 3, April 14) TA: Brian Choi Section Webpage:

Discussion 1H Notes (Week 3, April 14) TA: Brian Choi Section Webpage: Discussion 1H Notes (Week 3, April 14) TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs31 More on Arithmetic Expressions The following two are equivalent:! x = x + 5;

More information

Fundamentals of Programming Session 25

Fundamentals of Programming Session 25 Fundamentals of Programming Session 25 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2014 These slides have been created using Deitel s slides Sharif University of Technology Outlines

More information

INF 111 / CSE 121. Homework 3: Code Reading

INF 111 / CSE 121. Homework 3: Code Reading Homework 3: Code Reading Laboratory Date: Thursday, July 2, 2009 Take Home Due: Monday, July 2, 2009 Name : Student Number : Laboratory Time : Instructions for the Laboratory Objectives Open a project

More information

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011 Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Spring 2011 Outline Using Secure Shell Clients GCC Some Examples Intro to C * * Windows File transfer client:

More information

CS 241 Computer Programming. Introduction. Teacher Assistant. Hadeel Al-Ateeq

CS 241 Computer Programming. Introduction. Teacher Assistant. Hadeel Al-Ateeq CS 241 Computer Programming Introduction Teacher Assistant Hadeel Al-Ateeq 1 2 Course URL: http://241cs.wordpress.com/ Hadeel Al-Ateeq 3 Textbook HOW TO PROGRAM BY C++ DEITEL AND DEITEL, Seventh edition.

More information

y

y The Unfit tutorial By Dr Martin Buist Initial version: November 2013 Unfit version: 2 or later This tutorial will show you how to write your own cost function for Unfit using your own model and data. Here

More information

VB Net Debugging (Console)

VB Net Debugging (Console) VB Net Debugging (Console) Introduction A bug is some sort of error in the code which can prevent your program from running properly. When. you write a substantial program always assume that it contains

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

CS201 Lecture 2 GDB, The C Library

CS201 Lecture 2 GDB, The C Library CS201 Lecture 2 GDB, The C Library RAOUL RIVAS PORTLAND STATE UNIVERSITY Announcements 2 Multidimensional Dynamically Allocated Arrays Direct access support. Same as Multidimensional Static Arrays No direct

More information

Development Environment & Linux Guide

Development Environment & Linux Guide Development Environment & Linux Guide Juwon Lee(jwlee@archi.snu.ac.kr) School of Computer Science and Engineering Seoul National University Development Environment MobaXterm Provide Linux-like environment

More information

C++ Support Classes (Data and Variables)

C++ Support Classes (Data and Variables) C++ Support Classes (Data and Variables) School of Mathematics 2018 Today s lecture Topics: Computers and Programs; Syntax and Structure of a Program; Data and Variables; Aims: Understand the idea of programming

More information

Compilers for Modern Architectures Course Syllabus, Spring 2015

Compilers for Modern Architectures Course Syllabus, Spring 2015 Compilers for Modern Architectures Course Syllabus, Spring 2015 Instructor: Dr. Rafael Ubal Email: ubal@ece.neu.edu Office: 140 The Fenway, 3rd floor (see detailed directions below) Phone: 617-373-3895

More information

Debugging & Errors Why you were up till 2AM

Debugging & Errors Why you were up till 2AM Debugging & Errors Why you were up till 2AM Dan Fleck Fall 2008 Coming up: Running programs from the command line Running programs from the command line In windows just double-click on the sliders.py file

More information

CS354 gdb Tutorial Written by Chris Feilbach

CS354 gdb Tutorial Written by Chris Feilbach CS354 gdb Tutorial Written by Chris Feilbach Purpose This tutorial aims to show you the basics of using gdb to debug C programs. gdb is the GNU debugger, and is provided on systems that

More information

CS Lab 1 Linux/Shell Basic commands Introduction. Teaching Assistant Henrique Potter

CS Lab 1 Linux/Shell Basic commands Introduction. Teaching Assistant Henrique Potter CS 1550 Lab 1 Linux/Shell Basic commands Introduction Teaching Assistant Henrique Potter Recitation TA Office Hours Tuesday 4:00pm - 6:00pm Thursday 2:00pm 4:00pm 5:00pm 7:00pm CS 1550 Introduction to

More information

Laboratory Assignment #3 Eclipse CDT

Laboratory Assignment #3 Eclipse CDT Lab 3 September 12, 2010 CS-2303, System Programming Concepts, A-term 2012 Objective Laboratory Assignment #3 Eclipse CDT Due: at 11:59 pm on the day of your lab session To learn to learn to use the Eclipse

More information

Overloading Functions & Command Line Use in C++ CS 16: Solving Problems with Computers I Lecture #6

Overloading Functions & Command Line Use in C++ CS 16: Solving Problems with Computers I Lecture #6 Overloading Functions & Command Line Use in C++ CS 16: Solving Problems with Computers I Lecture #6 Ziad Matni Dept. of Computer Science, UCSB A reminder about Labs Announcements Please make sure you READ

More information

Announcements. Lecture 05a Header Classes. Midterm Format. Midterm Questions. More Midterm Stuff 9/19/17. Memory Management Strategy #0 (Review)

Announcements. Lecture 05a Header Classes. Midterm Format. Midterm Questions. More Midterm Stuff 9/19/17. Memory Management Strategy #0 (Review) Announcements Lecture 05a Sept. 19 th, 2017 9/19/17 CS253 Fall 2017 Bruce Draper 1 Quiz #4 due today (before class) PA1/2 Grading: If something is wrong with your code, you get sympathy PA3 is due today

More information

Organizing Programs and Data 2. Lecture 7 Hartmut Kaiser hkaiser/fall_2012/csc1254.

Organizing Programs and Data 2. Lecture 7 Hartmut Kaiser  hkaiser/fall_2012/csc1254. Organizing Programs and Data 2 Lecture 7 Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/ hkaiser/fall_2012/csc1254.html Programming Principle of the Day Abstraction Principle Related to DRY

More information

Lab 1: First Steps in C++ - Eclipse

Lab 1: First Steps in C++ - Eclipse Lab 1: First Steps in C++ - Eclipse Step Zero: Select workspace 1. Upon launching eclipse, we are ask to chose a workspace: 2. We select a new workspace directory (e.g., C:\Courses ): 3. We accept the

More information

11Debugging and Handling. C# Programming: From Problem Analysis to Program Design 2nd Edition. David McDonald, Ph.D. Director of Emerging Technologies

11Debugging and Handling. C# Programming: From Problem Analysis to Program Design 2nd Edition. David McDonald, Ph.D. Director of Emerging Technologies 11Debugging and Handling 11Exceptions C# Programming: From Problem Analysis to Program Design 2nd Edition David McDonald, Ph.D. Director of Emerging Technologies Chapter Objectives Learn about exceptions,

More information

Project 5 Handling Bit Arrays and Pointers in C

Project 5 Handling Bit Arrays and Pointers in C CS 255 Project 5 Handling Bit Arrays and Pointers in C Due: Thursday, Apr. 30 by 8:00am. No late submissions! Assignment: This homework is adapted from the CS450 Assignment #1 that Prof. Mandelberg uses

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

Final Topics. Ali Malik

Final Topics. Ali Malik Final Topics Ali Malik malikali@stanford.edu Game Plan Command Line Compilation Makefiles What is a thread? Race Conditions Locks Command Line Compilation CL Compilation So far, we have let QtCreator deal

More information

Question 1. [15 marks]

Question 1. [15 marks] Note to Students: This file contains sample solutions to the term test together with the marking scheme and comments for each question. Please read the solutions and the marking schemes and comments carefully.

More information

Best Practices for Using the Lessons Tool - Design

Best Practices for Using the Lessons Tool - Design Best Practices for Using the Lessons Tool - Design Overview Please read Lessons Basics before reading this document. This document discusses advanced features of the Lessons tool such as customizing page

More information

Command Line Navigation and Compiling

Command Line Navigation and Compiling Command Line Navigation and Compiling You should become familiar with how to compile and work from the command line. Below is a quick reference and instructions on how to use the gcc c++ compiler (g++)

More information

Chapter 1 INTRODUCTION

Chapter 1 INTRODUCTION Chapter 1 INTRODUCTION A digital computer system consists of hardware and software: The hardware consists of the physical components of the system. The software is the collection of programs that a computer

More information

Introduction to C++ IT 1033: Fundamentals of Programming

Introduction to C++ IT 1033: Fundamentals of Programming 2 Introduction to C++ IT 1033: Fundamentals of Programming Budditha Hettige Department of Computer Science C++ C++ is a middle-level programming language Developed by Bjarne Stroustrup Starting in 1979

More information

DEBUGGING: OBSERVING AND TRACKING

DEBUGGING: OBSERVING AND TRACKING DEBUGGING: OBSERVING AND TRACKING WS 2017/2018 Martina Seidl Institute for Formal Models and Verification Observing a Program deduction tells what might happen observation tells what is actually happening

More information

Flow of Control: Loops

Flow of Control: Loops Walter Savitch Frank M. Carrano Flow of Control: Loops Chapter 4 Java Loop Statements: Outline The while statement The do-while statement The for Statement Java Loop Statements A portion of a program that

More information

M2 Instruction Set Architecture

M2 Instruction Set Architecture M2 Instruction Set Architecture Module Outline Addressing modes. Instruction classes. MIPS-I ISA. Translating and starting a program. High level languages, Assembly languages and object code. Subroutine

More information

Introduction to C Programming

Introduction to C Programming 1 2 Introduction to C Programming 2.6 Decision Making: Equality and Relational Operators 2 Executable statements Perform actions (calculations, input/output of data) Perform decisions - May want to print

More information

We first learn one useful option of gcc. Copy the following C source file to your

We first learn one useful option of gcc. Copy the following C source file to your Lecture 5 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lab 5: gcc and gdb tools 10-Oct-2018 Location: Teaching Labs Time: Thursday Instructor: Vlado Keselj Lab 5:

More information

INTRODUCTION TO C++ PROGRAM CONTROL. Dept. of Electronic Engineering, NCHU. Original slides are from

INTRODUCTION TO C++ PROGRAM CONTROL. Dept. of Electronic Engineering, NCHU. Original slides are from INTRODUCTION TO C++ PROGRAM CONTROL Original slides are from http://sites.google.com/site/progntut/ Dept. of Electronic Engineering, NCHU Outline 2 Repetition Statement for while do.. while break and continue

More information

Lecture 4: Build Systems, Tar, Character Strings

Lecture 4: Build Systems, Tar, Character Strings CIS 330:! / / / / (_) / / / / _/_/ / / / / / \/ / /_/ / `/ \/ / / / _/_// / / / / /_ / /_/ / / / / /> < / /_/ / / / / /_/ / / / /_/ / / / / / \ /_/ /_/_/_/ _ \,_/_/ /_/\,_/ \ /_/ \ //_/ /_/ Lecture 4:

More information

GE U111 Engineering Problem Solving & Computation Lecture 6 February 2, 2004

GE U111 Engineering Problem Solving & Computation Lecture 6 February 2, 2004 GE U111 Engineering Problem Solving & Computation Lecture 6 February 2, 2004 Functions and Program Structure Today we will be learning about functions. You should already have an idea of their uses. Cout

More information

Data Structures and Programming with C++

Data Structures and Programming with C++ Data Structures and Programming with C++ By Dr. Atul Kumar Dwivedi ETC, BIT, Durg UNIT-I B. E., V Semester Outline Identifiers in C++ Data types Functions in C++ Return values in functions Quiz Lab exercises

More information

Introduction to C. CS 2060 Week 1. Prof. Jonathan Ventura. Outline Introduction Introduction to C Homework 1 C Coding Style Wrap-up

Introduction to C. CS 2060 Week 1. Prof. Jonathan Ventura. Outline Introduction Introduction to C Homework 1 C Coding Style Wrap-up Outline Introduction Homework 1 C Coding Style Wrap-up CS 2060 Week 1 Outline Introduction Homework 1 C Coding Style Wrap-up 1 Introduction Why C? Syllabus and Course Structure 2 First C example: Hello,

More information

CS110D: PROGRAMMING LANGUAGE I

CS110D: PROGRAMMING LANGUAGE I CS110D: PROGRAMMING LANGUAGE I Computer Science department Lecture 5&6: Loops Lecture Contents Why loops?? While loops for loops do while loops Nested control structures Motivation Suppose that you need

More information

Spring Modern Computer Science in a Unix Like Environment CIS c

Spring Modern Computer Science in a Unix Like Environment   CIS c Spring 2009 Modern Computer Science in a Unix Like Environment http://www.seas.upenn.edu/~cis399ux 25/01/09 Slide 1 What is Unix/Linux? Linux itself is an Operating System Kernel Linux is often used to

More information

CSE 142. Lecture 1 Course Introduction; Basic Java. Portions Copyright 2008 by Pearson Education

CSE 142. Lecture 1 Course Introduction; Basic Java. Portions Copyright 2008 by Pearson Education CSE 142 Lecture 1 Course Introduction; Basic Java Welcome Today: Course mechanics A little about computer science & engineering (CSE) And how this course relates Java programs that print text 2 Handouts

More information

CS 11 C track: lecture 6

CS 11 C track: lecture 6 CS 11 C track: lecture 6 Last week: pointer arithmetic This week: The gdb program struct typedef linked lists gdb for debugging (1) gdb: the Gnu DeBugger http://courses.cms.caltech.edu/cs11/material /c/mike/misc/gdb.html

More information

7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING

7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING KEY CONCEPTS COMP 10 EXPLORING COMPUTER SCIENCE Lecture 2 Variables, Types, and Programs Problem Definition of task to be performed (by a computer) Algorithm A particular sequence of steps that will solve

More information

Multimedia-Programmierung Übung 3

Multimedia-Programmierung Übung 3 Multimedia-Programmierung Übung 3 Ludwig-Maximilians-Universität München Sommersemester 2016 Ludwig-Maximilians-Universität München Multimedia-Programmierung 1-1 Today Ludwig-Maximilians-Universität München

More information

Introduction to Data Structures

Introduction to Data Structures 15-121 Introduction to Data Structures Lecture #1 Introduction 28 August 2019 Margaret Reid-Miller Today Course Administration Overview of Course A (very basic) Java introduction Course website: www.cs.cmu.edu/~mrmiller/15-121

More information

Course Overview. Internet Technology 1

Course Overview. Internet Technology 1 Course Overview Internet Technology 1 Course Objectives Develop an understanding of how web pages work. Become familiar with SSH, SFTP, HTML, CSS/JavaScript. Gain hands-on experience in web authoring.

More information

Blackboard Learn Grade Integration with Banner

Blackboard Learn Grade Integration with Banner Blackboard Learn Grade Integration with Banner Contents General Information about the Integration of Grades in Blackboard with the Banner Grade Entry Page... 2 Access the Blackboard Grade Center... 3 &

More information

Syllabus. Course Number: CS 361 Course Title: Control Structures. Course Description: Prerequisite Courses: Course Overview

Syllabus. Course Number: CS 361 Course Title: Control Structures. Course Description: Prerequisite Courses: Course Overview Course Number: CS 361 Course Title: Control Structures Course Description: Syllabus CS 361. CONTROL STRUCTURES (3). Discusses basic concepts of computer organization. Develops a precise and logical methodology

More information

Object-Oriented Principles and Practice / C++

Object-Oriented Principles and Practice / C++ Object-Oriented Principles and Practice / C++ Alice E. Fischer January 23, 2018 OOPP / C++ Lecture 1... 1/16 OOPP / C++ Mechanics Programming Context Course Goals Course Goals OOPP / C++ Lecture 1... 2/16

More information

CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points

CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points Files to submit: 1. HW3.py This is a PAIR PROGRAMMING Assignment: Work with your partner! For pair

More information

Gradebook Export/Import Instructions

Gradebook Export/Import Instructions Gradebook Export/Import Instructions Introduction Canvas gives the option to export the gradebook to a CSV file. You can open this file in a spreadsheet program and add or change grades, add columns and

More information

Reviewing all Topics this term

Reviewing all Topics this term Today in CS161 Prepare for the Final Reviewing all Topics this term Variables If Statements Loops (do while, while, for) Functions (pass by value, pass by reference) Arrays (specifically arrays of characters)

More information

COP4530 Data Structures, Algorithms and Generic Programming Recitation 3 Date: January 20 & 22, 2009

COP4530 Data Structures, Algorithms and Generic Programming Recitation 3 Date: January 20 & 22, 2009 COP4530 Data Structures, Algorithms and Generic Programming Recitation 3 Date: January 20 & 22, 2009 Lab objectives: 1) Quiz 2) Set up SSH to run external programs. 3) Learn how to use the DDD debuger.

More information

Code Blocks Cannot Find Compiler Executable Windows 7

Code Blocks Cannot Find Compiler Executable Windows 7 Code Blocks Cannot Find Compiler Executable Windows 7 Windows. Once you've installed a new compiler, be sure to read the I couldn't find a way to force CB to use a unix-link shell, but was able to find

More information

CS 202, Fall 2017 Homework #4 Balanced Search Trees and Hashing Due Date: December 18, 2017

CS 202, Fall 2017 Homework #4 Balanced Search Trees and Hashing Due Date: December 18, 2017 CS 202, Fall 2017 Homework #4 Balanced Search Trees and Hashing Due Date: December 18, 2017 Important Notes Please do not start the assignment before reading these notes. Before 23:55, December 18, upload

More information

ENERGY 211 / CME 211. Evolution

ENERGY 211 / CME 211. Evolution ENERGY 211 / CME 211 Lecture 2 September 24, 2008 1 Evolution In the beginning, we all used assembly That was too tedious, so a very crude compiler for FORTRAN was built FORTRAN was still too painful to

More information

Ch. 10: Name Control

Ch. 10: Name Control Ch. 10: Name Control Static elements from C The static keyword was overloaded in C before people knew what the term overload meant, and C++ has added yet another meaning. The underlying concept with all

More information

Introduction to Programming System Design CSCI 455x (4 Units)

Introduction to Programming System Design CSCI 455x (4 Units) Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,

More information

Introduction. Overview and Getting Started. CS 161 Computer Security Lab 1 Buffer Overflows v.01 Due Date: September 17, 2012 by 11:59pm

Introduction. Overview and Getting Started. CS 161 Computer Security Lab 1 Buffer Overflows v.01 Due Date: September 17, 2012 by 11:59pm Dawn Song Fall 2012 CS 161 Computer Security Lab 1 Buffer Overflows v.01 Due Date: September 17, 2012 by 11:59pm Introduction In this lab, you will get a hands-on approach to circumventing user permissions

More information

WEB ASSIGN SHORT INTRODUCTION

WEB ASSIGN SHORT INTRODUCTION WEB ASSIGN SHORT INTRODUCTION 1. LOGGING IN AND OUT You can log in to WebAssign using a Web browser connected to the Internet. Before logging in for the first time, you will need the following information,

More information

Course Requirements. Prerequisites Miscellaneous

Course Requirements. Prerequisites Miscellaneous Course Requirements Prerequisites Miscellaneous Tests MidTerm and Final Count Equally Closed Book Cheat Sheets Limited number, 8.5 x 11 paper 40% of grade Harder for CS 550 students Internet or TTN: You

More information

CS 211 Programming I for Engineers

CS 211 Programming I for Engineers CS 211 Programming I for Engineers Instructor: Tom Bartenstein Course Web Page: http://www.cs.binghamton.edu/~tbartens/cs211_fall_2018/ 1 Catalog Description Introduction to computer programming with engineering

More information

Systems Programming. Fatih Kesgin &Yusuf Yaslan Istanbul Technical University Computer Engineering Department 18/10/2005

Systems Programming. Fatih Kesgin &Yusuf Yaslan Istanbul Technical University Computer Engineering Department 18/10/2005 Systems Programming Fatih Kesgin &Yusuf Yaslan Istanbul Technical University Computer Engineering Department 18/10/2005 Outline How to assemble and link nasm ld gcc Debugging Using gdb; breakpoints,registers,

More information

1a Computers, Problem Solving!

1a Computers, Problem Solving! 1a Computers, Problem Solving!! 1E3! 1a Computers and Problem Solving 1 Objectives! n To introduce the architecture of a computer.! n To introduce the notion of a programming language.! n To explore computational

More information

C++ Mini Lessons Last Update: Feb 7, 2018

C++ Mini Lessons Last Update: Feb 7, 2018 C++ Mini Lessons Last Update: Feb 7, 2018 From http://www.onlineprogramminglessons.com These C++ mini lessons will teach you all the C++ Programming statements you need to know, so you can write 90% of

More information

CSci 4061 Introduction to Operating Systems. Programs in C/Unix

CSci 4061 Introduction to Operating Systems. Programs in C/Unix CSci 4061 Introduction to Operating Systems Programs in C/Unix Today Basic C programming Follow on to recitation Structure of a C program A C program consists of a collection of C functions, structs, arrays,

More information

CS 3030 Scripting Languages Syllabus

CS 3030 Scripting Languages Syllabus General Information CS 3030 Scripting Languages Semester: Fall 2017 Textbook: Location: Instructor Info: None. We will use freely available resources from the Internet. Online Ted Cowan tedcowan@weber.edu

More information

The University Of Michigan. EECS402 Lecture 09. Andrew M. Morgan. Savitch Ch Compiling With Multiple Files Make Utility.

The University Of Michigan. EECS402 Lecture 09. Andrew M. Morgan. Savitch Ch Compiling With Multiple Files Make Utility. The University Of Michigan Lecture 09 Andrew M. Morgan Savitch Ch. 11.1 Compiling With Multiple Files Make Utility Recall ADT Abstract Data Type (ADT: A data type, which has its implementation details

More information