CSci 160 Computing Science I. Sarah Carruthers Fall 2017
|
|
- Millicent Kelley
- 5 years ago
- Views:
Transcription
1 CSci 160 Computing Science I Sarah Carruthers Fall 2017
2 Administrivia Lecture: Tues. & Thurs. 11:30-1:00, Tues. 4:00-5:00 Instructor: Sarah Carruthers Office Hours: Mon. 3-4PM, Tues. 10:30-11:30 AM Course homepage: D2L Syllabus available on D2L, and handout Text:
3 Administrivia Mark breakdown: Assignments: 15% Reading Assessments: 10% Labs: 20% Exams: 55% (must pass final to pass the course) To pass the course you must pass both the lab portion of the course and the final exam
4 Course Topics Overview of software, hardware, and the development cycle C++ Basic data types Input and output Functions in C++ Control structures: branching and loops Abstract Data Types (arrays, structs, pointers) Algorithms Modularity and Design Dynamic data structures (linked lists)
5 Course Learning Outcomes Program Comprehension: Analyze and explain the behaviour of simple programs using the fundamental programming constructs Variables Expressions Assignments I/O Control constructs Functions Parameter Passing Recursion
6 Course Learning Outcomes Program Design: Design, implement, test, and debug a program that uses each of the following programming constructs: Basic computation simple I/O Standard conditional structures Standard iterative structures definitions of functions parameter passing constants enumerated types
7 Course Learning Outcomes Primitive Data Types: Identify and describe the use of primitive data types Write programs that use primitive data types Recursion: Describe the concept of recursion, and give examples of its use Identify the base case and the general case of a recursively-defined problem
8 Course Learning Outcomes Conditional and Iterative Constructs: Choose appropriate conditional and iteration construct for a given programming task Modify and expand short programs that use standard conditional and iterative control structures and functions
9 Course Learning Outcomes Advanced Data Types Write programs that use each of the following data structures: Arrays Structs Strings Write programs that use pointers for dynamic memory allocation and release Describe the concept of dynamic data structures and their uses Describe the concept of wild and dangling pointers Recognize the risks of wild an dangling pointers
10 Course Learning Outcomes Code Quality Apply consistent documentation and program style standards Describe the importance of consistent documentation and program style standards Create readable and maintainable software using conventions like documentation and program style standards
11 VIU Graduate Attributes Three Pillars: Literacies Intellectual and Practical Skills Civic Engagement
12 VIU Graduate Attributes Three Pillars: Literacies Technological Literacies Information Literacies Scientific Literacies Intellectual and Practical Skills Civic Engagement
13 VIU Graduate Attributes Three Pillars: Literacies Intellectual and Practical Skills Disciplinary Expertise Critical Thinking Inquiry and Ways of Knowing Safe and Ethical Practices Active Learning Civic Engagement
14 VIU Graduate Attributes Three Pillars: Literacies Intellectual and Practical Skills Civic Engagement Capacity to Engage in Respectful Relationships Foundations for Lifelong Learning Ethical Reasoning
15 Labs Weekly hands-on exercises 10 labs, each due before your next lab Each lab will consist of: in-lab portion (practice, help, not for marks) take home portion (for marks) self-assessment (for marks)
16 Assignments one middle of term (Oct. 29) one at end of term (Dec. 5) individual work to showcase what you ve learned
17 Assignments For 2 assignments: I will give you a set of requirements it is your job to design a solution it is OK to discuss your idea with your classmates, but you should each come up with your own design (they may be similar) it is your job to turn your design into code it is NOT OK to share your code it is OK to help debug your classmate s code
18 Reading Assessments Each week pre-readings will be posted You are responsible for these readings Assessed by online quiz
19 Lectures Lectures will consist of: syntax of C++ example code in-class exercises/quizzes quick response using Socrative or download the app hand-written coding exercises
20 Bonus Marks Everyone is eligible for up to 3% bonus marks, for completing up to 3 of the following: Video tutorial Blog tutorial Posting helpful material Finding an error in labs, assignments, demo code Getting help when you re stuck Helping a classmate when they re stuck Completing all the lab bonuses All except lab bonuses must be posted to D2L Discussion board Submit bonus checklist to D2L Details are on D2L
21 How to succeed in CSCI160 Attend labs and lectures In lecture we will cover: specifics of the language practice problems example code In lab you will get to: make mistakes in a safe environment ask for help practice
22 How to succeed in CSCI160 Practice practice practice! you re learning many things at once: how to program how to think like a computer scientist how to work on the command line a new language Do your own work the labs are there for you to practice cheating will not be tolerated
23 How to succeed in CSCI160 Practice practice practice! try the examples we do in class try to code things on your own when studying, redo your labs make code flash cards one side a verbal description other side the code
24 How to succeed in CSCI160 Write code by hand you ll need to write code for exams, don t wait until the midterm to practice Read code help your classmates when they re having trouble read their code and help find bugs
25 How to succeed in CSCI160 Plagiarism and cheating: Don t do it! Labs and assignments are designed to challenge you so that you can learn. Cheating bypasses this No learning = no passing exam (and you must pass the final to pass the course)
26 How to succeed in CSCI160 If you get stuck Come talk to me office hours after class by ask tutors for help talk to your classmates
27 Cheating copying from another person allowing someone to copy from you claiming someone else s work as yours collaborating on a test without authority taking a test for someone else acquiring academic material belonging to faculty or staff and more...
28 Plagiarism submitting another person s words as your own submitting another person s idea, opinion, or theory as your own even if paraphrased submitting facts, statistics, or illustrative materials without appropriate citation regardless of source
29 Plagiarism submitting another person s words as your own submitting another person s idea, opinion, or theory as your own even if paraphrased submitting facts, statistics, or illustrative materials without appropriate citation regardless of source
30 Penalty for Plagiarism and Cheating May include: failure of assignment or exam failing grade in course suspension from program
31 How to not cheat Write your own code Don t let others copy your code log out when you leave the room don t leave usb drives unattended don t throw out paper copies of work
32 The grey area.. Labs: in lab we will discuss algorithms and design strategies these are shared by everyone, and it is your job to implement them please talk to each other about these algorithms and ideas please do not copy code from each other look, think, write
33 Building Knowledge
34 Grammar Computational Thinking Creating Programs
35 Abstract Data Types Modularization Grammar Computational Thinking Creating Programs
36 Advanced ADTs Writing Programs Abstract Data Types Modularization Grammar Computational Thinking Creating Programs
37 How this course works We start with building blocks of the language (ABCs) Learn how to put these blocks together correctly (syntax) The green habit is crisply meandering. Learn how to put these blocks together meaningfully (semantics) There is a large rabbit on the hill who eats lots of carrots. Learn how to take a problem and craft a solution (write an essay) Tell a story that someone else understands, that is interesting to them
38 Today Quick look at history of C++ and programming Writing, compiling, and executing code Software and algorithms Programming Languages
39 C++ Programming Language a general-purpose, statically typed, free-form, multi-paradigm programming language
40 C++ Programming Language History Based on C language, it is C with Classes
41 Why learn C++? It is commonly used It is closely related to many other popular languages Java C PHP Perl It is versatile and multi-purpose
42 Basics of programming languages How we (as humans) talk to computers Different levels of language: low level languages that computers actually understand machine code assembly language hard for humans to read high-level languages that humans easily understand use English words (often) still need to be more rigorous and strict than natural language
43 How to talk to computers
44 Add 2 and 3 How to talk to computers int sum = 2+3; preprocess assemble link
45 A first C++ program /* * Author: Sarah Carruthers * Date: Fall 2017 * Purpose: A first program. Outputs "hello world" to the console, then terminates */ #include <iostream> int main(){ } std::cout << "Hello World" << std::endl; return 0;
46 How to compile In Linux, we use this command: g++ -Wall helloworld.cpp -o helloworldx If it works, we can then run our program on the command line:./helloworldx
47 Developing Software Programming requires Analyzing problem Determining an algorithm Expressing that algorithm in a programming language
48 Analyzing a problem What is the problem to be solved? User s perspective and needs Requirements should be carefully determined What general solution techniques are best? What data types/storage are best?
49 Developing an algorithm What is an algorithm? In small groups, think about this, and write down your definition...
50 Developing an algorithm What is an algorithm? In small groups, think about this, and write down your definition... Some answers:
51 Algorithm Definition: An Algorithm is a series of steps/instructions that solves a problem 1.Always outputs the correct result on any valid input 2.Always halts 3.Is unambiguous
52 Warm up Come up with an algorithm to draw a square:
53 Exercise Come up with an algorithm to draw the following Write it down as accurately as you can
54 Exercise Choose a partner, and swap algorithms Following their instructions exactly, draw what their algorithm describes did it work? If necessary, fix each other s algorithms
55 Exercise After thoughts: what were some common problems? how could you fix them?
56 Programming languages Which programming language is appropriate? Which are available/known? Which are supported by the user s system? Which are appropriate for the kind of problem being solved?
57 Programming languages High level Language Assembly Language Machine Language Human readable Mneumonics Binary sequences int i=3; MOV AL 3h
58 Programming languages High level Language Assembly Language Machine Language Human readable Mneumonics Binary sequences int i=3; MOV AL 3h
59 Programming languages Many, many languages to choose from, including: C, C++, Java, Objective-C, C#, Javascript, Python, Ruby... (general purpose) R, Fortran, Matlab, Mathematica... (scientific, mathematics) Prolog (logic) Cobol (business reporting)
60 This class: C++ Developed by Kernighan and Ritchie at Bell Labs Descendent of C Object-oriented Suitable for: cross platform development small projects large projects
61 How code becomes a program myprog.cpp #included header C++ preprocessor compiler assembler linker files temporary file myprog.s myprog.o myprog
62 Development Cycle We write programs to solve problems Understand the problem Break it down into manageable pieces Design a solution Think about the solution. Can it be improved? Write code (implement your solution) Test your solution Test incrementally AND Test final solution Fix as needed Follow a good development cycle a good system will work for small projects and large projects
63 Development Cycle Analyze the problem given Come up with a solution Code the solution Compile and run Test with data
64 Incremental Development Start small, compile, and add If planned properly it is possible to: Frame out the structure of the program Function declarations and definitions Leave body empty Add functionality a bit at a time
65 Analysis phase write a program to calculate the area of a circle Carefully describe the following: Inputs:? Outputs:? How do we turn inputs into outputs?
66 Analysis phase You need to write a program to calculate the area of a circle Analysis: Inputs: radius of the circle Outputs: area of the circle How do we turn inputs into outputs?
67 Design Phase High level breakdown of problem 1.Ask the user for the radius 2.Read in the radius from user 3.Calculate the area of a circle given the input radius 4.Output the area to the user
68 Design Phase Ask the user for the radius expect integer input Read the radius from user Calculate the area of a circle given the input radius Area = PI*radius*radius Output the area to the user
69 Exercise The problem: Convert a price in Euros to Canadian Dollars, then add 5% GST to it Do Analysis Phase Input, output, high level description Do Design Phase Detailed description
70 Analysis phase Convert a price in Euros to Canadian Dollars, then add 5% GST to it Carefully describe the following: Inputs:? Outputs:? How do we turn inputs into outputs?
71 Design Phase High level breakdown of problem 1...
72 Writing C++ Code Once we ve finished the Analysis and Design stages... Time to write some code! What is a programming language? What do we need to know to write in a new language like C++?
73 Programming Language Definition A programming language is a language designed to help you structure your instructions to a computer in a format that you can easily read and understand (relatively speaking). Programming is really just a way of organizing a task so that it is replicable by something else -- a computer. If you have ever given someone directions, or written down a recipe, you have some experience with programming.
74 Programming Languages: C++ C++ is a high-level language designed to be human readable still needs to be correct to work We care about 2 kinds of correctness syntax semantics
75 Syntax and Semantics Syntax (the grammar): What combinations of symbols are legally allowed English language example The panda eats, shoots and leaves. Sentence is well-formed Follows rules of English grammar Semantics (the meaning): What is the meaning of a syntactically correct phrase? English language example Colourless green ideas sleep furiously - Chomsky Syntactically correct, semantically meaningless or ambiguous
76 Exercise Come up with a sentence that is: 1.Syntactically correct and semantically incorrect 2.Syntactically incorrect
77 Syntax and Semantics: Why do we care? We have to follow the rules of syntax for our code to compile Code must be compiled in order to run If we want our code to do what we mean, we have to follow rules of semantics Semantically incorrect code will compile but might crash or do the wrong thing
78 Syntax and Semantics: Why do we care? Tools can help use catch syntax errors Compilers parse our code to make it into a program Analyze a string of symbols Based on formal grammar Syntax errors occur if incorrect Program will not compile and therefore not run
79 How code becomes a program myprog.cpp #included header C++ preprocessor compiler assembler linker files temporary file myprog.s myprog.o myprog
80 Compiler parses code into a tree-like structure Based on rules or syntax of the language If your code has syntax errors, compile fails
81 No program L myprog.cpp #included header C++ preprocessor compiler assembler linker files temporary file myprog.s myprog.o myprog
82 Survey
83 For Thursday get set up with Socrative or install the app (we will use it in class Thursday) Do the Intro. readings and the first reading assessment quiz (on D2L)
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 informationCS101 Introduction to Programming Languages and Compilers
CS101 Introduction to Programming Languages and Compilers In this handout we ll examine different types of programming languages and take a brief look at compilers. We ll only hit the major highlights
More informationAdministration Computers Software Algorithms Programming Languages
Administration Computers Software Algorithms Programming Languages http://www.cs.sfu.ca/cc/130/johnwill/ This course does not use Canvas John Edgar 3 Come to class Read ahead Attend the labs You get practice
More informationCS 113: Introduction to
CS 113: Introduction to Course information MWF 12:20-1:10pm 1/21-2/15, 306 Hollister Hall Add/drop deadline: 1/28 C Instructor: David Crandall See website for office hours and contact information Prerequisites
More informationCSE 504: Compiler Design
http://xkcd.com/303/ Compiler Design Course Organization CSE 504 1 / 20 CSE 504: Compiler Design http://www.cs.stonybrook.edu/~cse504/ Mon., Wed. 2:30pm 3:50pm Harriman Hall 116 C. R. Ramakrishnan e-mail:
More informationCSCI 3136 Principles of Programming Languages
CSCI 3136 Principles of Programming Languages Summer 2013 Faculty of Computer Science Dalhousie University 1 / 100 CSCI 3136 Principles of Programming Languages Summer 2013 Aminul Islam Faculty of Computer
More informationCS 241 Data Organization using C
CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am
More informationCS240: Programming in C
CS240: Programming in C Lecture 1: Class overview. Cristina Nita-Rotaru Lecture 1/ Fall 2013 1 WELCOME to CS240 Cristina Nita-Rotaru Lecture 1/ Fall 2013 2 240 Team Instructor: Cristina Nita-Rotaru Special
More informationUpdated: 2/14/2017 Page 1 of 6
MASTER SYLLABUS 2017-2018 A. Academic Division: Business, Industry, and Technology B. Discipline: Engineering Technology C. Course Number and Title: ENGR1910 Engineering Programming D. Course Coordinator:
More informationAdvanced Programming Concepts. CIS 15 : Spring 2007
Advanced Programming Concepts CIS 15 : Spring 2007 Mondays and Thursdays 12:15 pm to 1:30 pm 232 Ingersoll Extension Instructor: Chipp Jansen (not Tennenbaum as listed) E-mail: chipp@sci.brooklyn.cuny.edu
More informationINFS 2150 (Section A) Fall 2018
INFS 2150 (Section A) Fall 2018 Introduction to Web Development Class meets TUE & THU: 12:30am-1:45pm: in Wheatley 114 Instructor: Peter Y. Wu Office: Wheatley 309 Office Hours: Tuesday 9:00 am-12:00 noon;
More information(0) introduction to the course. how to learn a programming language. (0) course structure
topics: (0) introduction to the course (1) what is a computer? instructor: cis1.5 introduction to computing using c++ (robotics applications) spring 2008 lecture # I.1 introduction Prof Azhar, mqazhar@sci.brooklyn.cuny.edu
More informationSyllabus. ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) INSTRUCTOR Office Phone Address Office Hours
I n f o r m a t i o n a n d C o m p u t e r S c i e n c e D e p a r t m e n t Syllabus ICS103: Computer Programming in C 2017 / 2018 First Semester (Term 171) Course Website: Blackboard CE 8 (WebCT) http://webcourses.kfupm.edu.sa/
More informationPhiladelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus
Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008 Course Syllabus Course Title: Compiler Construction Course Level: 4 Lecture Time: Course
More informationLecture 1. Introduction to course, Welcome to Engineering, What is Programming and Why is this the first thing being covered in Engineering?
Lecture 1 Introduction to course, Welcome to Engineering, What is Programming and Why is this the first thing being covered in Engineering? Welcome to ENGR 102 Syllabus review Your Time Expectations (in
More informationCIS* Programming
CIS*1300 - Programming CALENDAR DESCRIPTION This course examines the applied and conceptual aspects of programming. Topics may include data and control structures, program design, problem solving and algorithm
More informationAnnouncements. 1. Forms to return today after class:
Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.
More informationIntroduction 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 informationCS 6371: Advanced Programming Languages
CS 6371: Advanced Programming Languages Dr. Kevin Hamlen Spring 2017 Fill out, sign, and return prereq forms: Course number: CS 6371 Section: 1 Prerequisites: CS 5343: Algorithm Analysis & Data Structures
More informationCSC 326H1F, Fall Programming Languages. What languages do you know? Instructor: Ali Juma. A survey of counted loops: FORTRAN
What languages do you know? CSC 326H1F, Programming Languages The usual suspects: C, C++, Java fine languages nearly the same Perhaps you've also learned some others? assembler Basic, Visual Basic, Turing,
More informationToday. An Animated Introduction to Programming. Prerequisites. Computer programming
Today 1 2 3 4 Computer programming What is this course about? We re making several assumptions about you as a student. In particular, we assume that you have: Never taken a programming course before. Have
More informationCS/SE 153 Concepts of Compiler Design
San José State University Department of Computer Science CS/SE 153 Concepts of Compiler Design Section 1 Fall 2018 Course and Contact Information Instructor: Ron Mak Office Location: ENG 250 Email: ron.mak@sjsu.edu
More informationWELCOME! (download slides and.py files and follow along!) LECTURE 1
WELCOME! (download slides and.py files and follow along!) 6.0001 LECTURE 1 6.0001 LECTURE 1 1 TODAY course info what is computation python basics mathematical operations python variables and types NOTE:
More informationFundamentals of Computer Science CSCI 136 Syllabus Fall 2018
Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018 CSCI 136 Section 00 Instructor: Michael Cassens Office: SS 411 Office Hours: MWF 11:00-11:50 am or by appt Phone: (415) 787-0577 E-mail: michael.cassens@mso.umt.edu
More informationCOMP Summer 2015 (A01) Jim (James) Young jimyoung.ca
COMP 1010- Summer 2015 (A01) Jim (James) Young young@cs.umanitoba.ca jimyoung.ca Hello! James (Jim) Young young@cs.umanitoba.ca jimyoung.ca office hours T / Th: 17:00 18:00 EITC-E2-582 (or by appointment,
More informationITSC 1319 INTERNET/WEB PAGE DEVELOPMENT SYLLABUS
SAIGONTECH ITSC 1319 INTERNET/WEB PAGE DEVELOPMENT SYLLABUS CRN: Semester: Summer 2015 Class name: IWPD Campus and Room: SaigonTech Tower Lab 211 Days and Times: Lecture: Tue. 7:30 11:45 Tutor: Fri. 7:30
More informationPhiladelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus
Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008 Course Syllabus Course Title: Advanced Databases Course Level: 4 Lecture Time: Course code:
More informationComputer Science Department
California State University, Dominguez Hills Computer Science Department Syllabus CS255 Dynamic Web Programming Dr. Jason Isaac Halasa Office Hours: MW 12:45-2:30 and 3:45-5:30 and by Appointment Office
More informationCleveland State University
Cleveland State University CIS 260/500 Introduction to Programming (4 credits). Spring 2015 Section 2/ 50 Class Nbr. 1810/1855 Tue, Thu 12:30 PM 2:20 PM Section 2/ 50 Class Nbr. 1813/1856. Tue, Thu 4:00
More informationScientific Computing
Scientific Computing Martin Lotz School of Mathematics The University of Manchester Lecture 1, September 22, 2014 Outline Course Overview Programming Basics The C++ Programming Language Outline Course
More informationIntroduction to Basis and Practice in Programming
Introduction to Basis and Practice in Programming Fall 2015 Jinkyu Jeong (jinkyu@skku.edu) 1 Course Overview Course Basics! Class hour GEDB029-45: Mon. 13:00 ~ 14:50 GEDB029-46: Tue. 13:00 ~ 14:50 1~2
More informationCOSC 115A: Introduction to Web Authoring Fall 2014
COSC 115A: Introduction to Web Authoring Fall 2014 Instructor: David. A. Sykes Class meetings: TR 1:00-2:20PM in Daniel Building, Room 102 Office / Hours: Olin 204E / TR 8:00-10:45AM, MWF 9:00 10:20AM,
More informationCMPE 152 Compiler Design
San José State University Department of Computer Engineering CMPE 152 Compiler Design Section 1 (Class) Sections 2 and 3 (s) Fall 2018 Course and Contact Information Instructor: Ron Mak Office Location:
More informationYou must pass the final exam to pass the course.
Computer Science Technology Department Houston Community College System Department Website: http://csci.hccs.cc.tx.us CRN: 46876 978-1-4239-0146-4 1-4239-0146-0 Semester: Fall 2010 Campus and Room: Stafford
More informationCS 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 informationCS Compiler Construction West Virginia fall semester 2014 August 18, 2014 syllabus 1.0
SYL-410-2014C CS 410 - Compiler Construction West Virginia fall semester 2014 August 18, 2014 syllabus 1.0 Course location: 107 ERB, Evansdale Campus Course times: Tuesdays and Thursdays, 2:00-3:15 Course
More informationSpring 2018 El Camino College E. Ambrosio. Course Syllabus
Course Syllabus Division: Mathematical Sciences Course Title: Computer Programming in Java Course #/Sections: CS 3/0127, 0128 Credit Hours: 4 Course Time/Room: Lecture: TTh 6:25 7:50 P.M./MBA 213 Lab:
More informationCS102 Unit 2. Sets and Mathematical Formalism Programming Languages and Simple Program Execution
1 CS102 Unit 2 Sets and Mathematical Formalism Programming Languages and Simple Program Execution 2 Review Show how "Hi!\n" would be stored in the memory below Use decimal to represent each byte Remember
More informationCSE 333 Lecture 1 - Systems programming
CSE 333 Lecture 1 - Systems programming Hal Perkins Department of Computer Science & Engineering University of Washington Welcome! Today s goals: - introductions - big picture - course syllabus - setting
More informationCompilers 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 informationCS1 Lecture 3 Jan. 22, 2018
CS1 Lecture 3 Jan. 22, 2018 Office hours for me and for TAs have been posted, locations will change check class website regularly First homework available, due Mon., 9:00am. Discussion sections tomorrow
More informationProgramming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.
Programming 2 (112) Lecture 0 College of Computer Science and Engineering Taibah University S2, 1439 Outline Important Information Lecture Protocol Subject Overview General Overview Course Objectives Studying
More informationIntroduction 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 informationCS120 Computer Science I. Instructor: Jia Song
CS120 Computer Science I Instructor: Jia Song Instructor Contact Information Instructor: Dr. Jia Song Email: jsong@uidaho.edu (Preferred) Phone: (208) 885-1710 Office: JEB 240 (CSDS Security Lab) JEB 340
More informationLecture 1. Course Overview, Python Basics
Lecture 1 Course Overview, Python Basics We Are Very Full! Lectures and Labs are at fire-code capacity We cannot add sections or seats to lectures You may have to wait until someone drops No auditors are
More informationProgramming 1. Outline (111) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.
Programming 1 (111) Lecture 0 College of Computer Science and Engineering Taibah University S1, 1439 Outline Important Information Lecture Protocol Subject Overview General Overview Course Objectives Studying
More informationCurriculum Map Grade(s): Subject: AP Computer Science
Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History
More informationCS 351: Design of Large Programs.
Welcome to CS 351 Design of Large Programs Instructor: Joel Castellanos e-mail: joel@unm.edu Web: http://cs.unm.edu/~joel/ Office: Electrical and Computer Engineering building (ECE). Room 233 1/18/2017
More informationCSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch
CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed
More informationCS 3813/718 Fall Python Programming. Professor Liang Huang.
CS 3813/718 Fall 2012 Python Programming Professor Liang Huang huang@cs.qc.cuny.edu http://vision.cs.qc.cuny.edu/huang/python-2012f/ Logistics Lectures: TTh 9:25-10:40 am SB B-141 Personnel Instructor
More informationCSCI 201L Syllabus Principles of Software Development Spring 2018
L Syllabus Principles of Software Development Spring 2018 Instructor: Jeffrey Miller, Ph.D. Email: jeffrey.miller@usc.edu Web Page: http://www-scf.usc.edu/~csci201 Office: SAL 342 Phone: 213-740-7129 Lectures:
More informationOutline. CIS 110: Introduction to Computer Programming. What is Computer Science? What is computer programming? What is computer science?
Outline CIS 110: Introduction to Computer Programming Lecture 1 An introduction of an introduction ( 1.1 1.3)* 1. What is computer science and computer programming? 2. Introductions and logistics 3. The
More informationCOMP 1130 Programming Fundamentals (Javascript Rocks)
COMP 1130 Programming Fundamentals (Javascript Rocks) Class Website URL Teacher Contact Information High School Credits Concurrent Enrollment Course Description http://online.projectsocrates.org Mr. Roggenkamp
More informationCOSC 2P95. Introduction. Week 1. Brock University. Brock University (Week 1) Introduction 1 / 18
COSC 2P95 Introduction Week 1 Brock University Brock University (Week 1) Introduction 1 / 18 Lectures and Labs Lectures are Thursdays, from 3pm 5pm (AS/STH 217) There are two lab sections Lab 1 is Mondays,
More informationKOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)
Programming Concepts & Algorithms Course Syllabus Course Title Course Code Computer Department Pre-requisites Course Code Course Instructor Programming Concepts & Algorithms + lab CPE 405C Computer Department
More informationEP241 Computer Programming
EP241 Computer Programming Topic 1 Dr. Ahmet BİNGÜL Department of Engineering Physics University of Gaziantep Modifications by Dr. Andrew BEDDALL Department of Electric and Electronics Engineering Sep
More informationCSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015
CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015 INSTRUCTOR: Dr. Ray Maleh Adjunct Professor, Department of Computer Science Office: TBD Email: Ray_Maleh@tamuc.edu Office Hours: Mondays 7:10 PM 8:10 PM,
More informationConcepts of Programming Languages
Concepts of Programming Languages Lecture 1 - Introduction Patrick Donnelly Montana State University Spring 2014 Patrick Donnelly (Montana State University) Concepts of Programming Languages Spring 2014
More informationCNG 140 C Programming. Syllabus. Course Info Fall Semester. Catalog Description
CNG 140 C Programming 2012-2013 Fall Semester Syllabus Course Info Catalog Description Advanced programming with C: Storage and control structures, recursion and programming with dynamic data structures.
More informationWelcome to CS 115 (Winter 2019)
Welcome to CS 115 (Winter 2019) Web page (the main information source): http://www.student.cs.uwaterloo.ca/ cs115/ Course Personnel: Contact information and office hours for all staff: instructors, ISAs
More information15-411/ Compiler Design
15-411/15-611 Compiler Design Jan Hoffmann Fall 2016 http://www.cs.cmu.edu/~janh/courses/411/16 Teaching Staff Instructor: Jan Hoffmann Office hours: Tue 10:30am-noon Thu 1:00pm-2:30pm at GHC 9105 Teaching
More informationWelcome to CS 115 (Winter 2018)
Welcome to CS 115 (Winter 2018) Web page (the main information source): http://www.student.cs.uwaterloo.ca/ cs115/ Course Personnel: Contact information and office hours for all staff: instructors, ISAs
More informationSKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)
SKILL AREA 304: Review Programming Language Concept Computer Programming (YPG) 304.1 Demonstrate an Understanding of Basic of Programming Language 304.1.1 Explain the purpose of computer program 304.1.2
More informationThis course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.
This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. Introduction Overview Advancements in technology are
More informationISM 324: Information Systems Security Spring 2014
ISM 324: Information Systems Security Spring 2014 Instructor: Co-Instructor: Office: E-Mail: Phone: Office Hours: Jeffrey Wall Hamid Nemati 392 Bryan Building jdwall2@uncg.edu (email is the preferred method
More informationECE573 Introduction to Compilers & Translators
ECE573 Introduction to Compilers & Translators Tentative Syllabus Fall 2005 Tu/Th 9:00-10:15 AM, EE 115 Instructor Prof. R. Eigenmann Tel 49-41741 Email eigenman@ecn Office EE334C Office Hours Tu 10:15-11:30
More informationDe La Salle University College of Computer Studies. Course Syllabus
De La Salle University College of Computer Studies Course Syllabus COMPRO1 / Introduction Computer Programming (3 units) Prerequisite : None Prerequisite : COMPRO2 Type of Course : Basic ITE course / Lecture
More informationCS 565: Programming Languages. Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106
CS 565: Programming Languages Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106 Administrivia Who am I? Course web page http://www.cs.purdue.edu/homes/peugster/cs565spring08/ Office hours By appointment Main
More informationCS 50 Introduction to Computer Science I
CS 50 Introduction to Computer Science I Michael D. Smith smith@eecs.harvard.edu Fall 2005 CS50 1 Q1: What s in common? Internet commerce and electronic markets Blockbuster movies and their special effects
More informationCS 150 Introduction to Computer Science 1
CS 150 Introduction to Computer Science 1 Professor: Chadd Williams CS150 Introduction to Computer Science 1 Chadd Williams http://zeus.cs.pacificu.edu/chadd chadd@pacificu.edu Office 202 Strain Office
More informationComputer Science 210: Data Structures
Computer Science 210: Data Structures Welcome to Data Structures! Data structures are fundamental building blocks of algorithms and programs Csci 210 is a study of data structures design efficiency implementation
More informationNew York City College of Technology/CUNY Department of Computer Systems Technology. CST2400 Computer System Management and Support 4 hours 3 credits
New York City College of Technology/CUNY Department of Computer Systems Technology CST2400 Computer System Management and Support 4 hours 3 credits Instructor: Office Phone: Office Hours: Class Meetings:
More informationObject-Oriented Programming for Managers
95-807 Object-Oriented Programming for Managers 12 units Prerequisites: 95-815 Programming Basics is required for students with little or no prior programming coursework or experience. (http://www.andrew.cmu.edu/course/95-815/)
More informationLecture 1. Course Overview, Python Basics
Lecture 1 Course Overview, Python Basics We Are Very Full! Lectures are at fire-code capacity. We cannot add sections or seats to lectures You may have to wait until someone drops No auditors are allowed
More informationCS/SE 153 Concepts of Compiler Design
San José State University Department of Computer Science CS/SE 153 Concepts of Compiler Design Course and Contact Information Instructor: Ron Mak Office Location: ENG 250 Email: Website: Office Hours:
More informationCSci Introduction to Operating Systems. Administrivia, Intro
CSci 4061 Introduction to Operating Systems Administrivia, Intro Me: Welcome to 4061! Jon Weissman CS Professor circa 1999 Call me Jon TAs: Zach Leidall, Francis Liu, Fei Wu, Parag Panda, Gaurav Khandelwal
More informationExam 1. CSI 201: Computer Science 1 Fall 2018 Professors: Shaun Ramsey
Exam 1 CSI 201: Computer Science 1 Fall 2018 Professors: Shaun Ramsey I understand that this exam is closed books and closed notes and is to be completed without a calculator, phone, or other computer.
More information1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation
1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation Administrivia Lecturer: Kostis Sagonas (kostis@it.uu.se) Course home page: http://www.it.uu.se/edu/course/homepage/komp/h18
More informationChapter 2 Basic Elements of C++
C++ Programming: From Problem Analysis to Program Design, Fifth Edition 2-1 Chapter 2 Basic Elements of C++ At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion
More information1DL321: Kompilatorteknik I (Compiler Design 1)
Administrivia 1DL321: Kompilatorteknik I (Compiler Design 1) Introduction to Programming Language Design and to Compilation Lecturer: Kostis Sagonas (kostis@it.uu.se) Course home page: http://www.it.uu.se/edu/course/homepage/komp/ht16
More informationCSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers
CSE4305: Compilers for Algorithmic Languages CSE5317: Design and Construction of Compilers Leonidas Fegaras CSE 5317/4305 L1: Course Organization and Introduction 1 General Course Information Instructor:
More informationSULTAN QABOOS UNIVERSITY COURSE OUTLINE PROGRAM: BSc. in Computer Science. Laboratory (Practical) Field or Work Placement
SULTAN QABOOS UNIVERSITY COURSE OUTLINE PROGRAM: BSc. in Computer Science 1. Course Code COMP2102 2. Course Title Problem Solving and Programming 3. Credits 3 4. Pre-requisite Course(s) COMP2101 5. Co-requisite
More informationStarting 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 informationCS153: Compilers Lecture 1: Introduction
CS153: Compilers Lecture 1: Introduction Stephen Chong https://www.seas.harvard.edu/courses/cs153 Source Code What is this course about?? Compiler! Target Code 2 What is this course about? How are programs
More informationCMPE 152 Compiler Design
San José State University Department of Computer Engineering CMPE 152 Compiler Design Course and contact information Instructor: Ron Mak Office Location: ENG 250 Email: Website: Office Hours: Section 4
More informationLecture 01 & 02 Computer Programming
Lecture 01 & 02 Computer Programming 15 Computer Systems Engineering Second Semester By: Mr. Ali Asghar Manjotho, Lecturer, CSE-MUET Contents Computer programming (LL 02) Why programming? (LL 02) Instructions
More informationCS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class
CS112 Lecture: Defining Classes Last revised 2/3/06 Objectives: 1. To describe the process of defining an instantiable class Materials: 1. BlueJ SavingsAccount example project 2. Handout of code for SavingsAccount
More informationCS-XXX: Graduate Programming Languages. Lecture 9 Simply Typed Lambda Calculus. Dan Grossman 2012
CS-XXX: Graduate Programming Languages Lecture 9 Simply Typed Lambda Calculus Dan Grossman 2012 Types Major new topic worthy of several lectures: Type systems Continue to use (CBV) Lambda Caluclus as our
More informationObject Oriented Programming
Object Oriented Programming Course Code: CS 212 Semester: 2 nd Credit Hours: 3+1 Prerequisite Codes: CS-110: Fundamentals of Computer Programming Instructor: Shamyl Bin Mansoor Class: BESE-5 AB Office:
More informationCSE 240 Introduction to Computer Architecture
What s All About?! Introduction to Computer Architecture The new CSE240: Not at 9am!!! New approach (bottom up) New textbook New instructor Well integrated into curriculum Cooler assignments (demo coming
More informationPrinciples of Programming Languages. Lecture Outline
Principles of Programming Languages CS 492 Lecture 1 Based on Notes by William Albritton 1 Lecture Outline Reasons for studying concepts of programming languages Programming domains Language evaluation
More informationCourse Title: Network+/Networking Fundamentals. Course Section: CNS-101-I1. FORMAT: Online
Course Title: Network+/Networking Fundamentals Course Section: CNS-101-I1 FORMAT: Online TIME FRAME: Start Date: 15 January 2018 End Date: 06 May 2018 CREDITS: 4 INSTRUCTOR: Carlos J. Garcia Office Hours:
More informationType Checking and Type Equality
Type Checking and Type Equality Type systems are the biggest point of variation across programming languages. Even languages that look similar are often greatly different when it comes to their type systems.
More informationGame keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen
Computer Programming Computers can t do anything without being told what to do. To make the computer do something useful, you must give it instructions. You can give a computer instructions in two ways:
More informationCOSC 115: Introduction to Web Authoring Fall 2013
COSC 115: Introduction to Web Authoring Fall 2013 Instructor: David. A. Sykes Class meetings: TR 1:00 2:20PM, Olin 212 Office / Hours: Olin 204E / TR 8:00-10:20AM, MWF 1:00 3:00PM, or by appointment/happenstance
More informationCS 240 Fall 2015 Section 004. Alvin Chao, Professor
CS 240 Fall 2015 Section 004 Alvin Chao, Professor Today Course overview Data Structures / Algorithms Course policies The C language Motivation Computers are digital Data is stored in binary format (1's
More informationCMPE 152 Compiler Design
San José State University Department of Computer Engineering CMPE 152 Compiler Design Section 1 (Class) Sections 2 and 3 (Labs) Spring 2019 Course and Contact Information Instructor: Ron Mak Office Location:
More informationCMSC 201 Fall 2016 Lab 09 Advanced Debugging
CMSC 201 Fall 2016 Lab 09 Advanced Debugging Assignment: Lab 09 Advanced Debugging Due Date: During discussion Value: 10 points Part 1: Introduction to Errors Throughout this semester, we have been working
More informationObject Oriented Programming
Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering
More informationCS 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