CS A250 (CRN 20690-25399) C++ Programming Language 2. Syllabus Fall 2015



Similar documents
Introduction to Psychology 100 On-Campus Fall 2014 Syllabus

Major Topics Covered in the Course

Thursday 11:00 a.m. - 12:00 p.m. and by appointment

CSC 341, section 001 Principles of Operating Systems Spring 2015 Monday/Wednesday 1:00 PM 2:15 PM

CS 261 C and Assembly Language Programming. Course Syllabus

MONTGOMERY COLLEGE Rockville Campus CA141 Introduction to Database Applications Computer Applications Department

MAT 1111: College Algebra: CRN SPRING 2013: MWF 11-11:50: GRAY 208

Course title: Management Information Systems Fall 2010 Course number: CRN: Location: Meeting day: Meeting time:

Math 103, College Algebra Fall 2015 Syllabus TTh PM Classes

Earth Science 102 Introduction to Physical Geology Fall 2015 Online

CSC 234 Game Design M/W 5-7:20PM D207

SAMPLE SUBJECT TO CHANGE University of Toledo Department of Criminal Justice CRIM 1010 Criminal Justice (3 credits) Section 901 Fall Semester, 2014

Computer Science Spring 2012 Page 1. COURSE INFORMATION Introduction to Computers / COMSC / Online Section. kstanton@losmedanos.

Statistical Methods Online Course Syllabus

SYLLABUS Honors College Algebra MAC 1105H / 3 credit hours Fall 2014

Riverside City College Arithmetic-Pre-Algebra/Math 65 (48422), Fall 2014 MTSC 103-MTWTh: 06:00PM - 07:10PM

Introduction to Sociology Online Course Syllabus SOC 2301 D30 CRN Fall 2015 Angelo State University

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles

Interpersonal Communication

COURSE SYLLABUS INTRODUCTION TO INTERNATIONAL BUSINESS, MGT ONLINE FALL 2013

Grading and Assignments: Participation: 10.0% Discussion Boards: 10.0% Midterm Exam: 22.5% Final Exam: 22.5% Policy Paper: 35.0%

Dr. Robert Yowell GOVT Office Hours: Spring 2014

INTRODUCTION TO CRIMINAL JUSTICE FALL 2015

MATH : College Algebra Fall 2013

CS 1340 Sec. A Time: 8:00AM, Location: Nevins Instructor: Dr. R. Paul Mihail, 2119 Nevins Hall, rpmihail@valdosta.

CS135 Computer Science I Spring 2015

Psychology Mind and Society Mondays & Wednesdays, 2:00 3:50 pm, 129 McKenzie Hall Fall 2013 (CRN # 16067)

CS 300 Data Structures Syllabus - Fall 2014

GENERAL PSYCHOLOGY, PSC 1, Section 2

CS 1361-D10: Computer Science I

COMMONWEALTH OF MASSACHUSETTS BUNKER HILL COMMUNITY COLLEGE CHARLESTOWN, MASSACHUSETTS COMPUTER INFORMATION TECHNOLOGY DEPARTMENT

MAT 103B College Algebra Part I Winter 2016 Course Outline and Syllabus

Online Course Syllabus CS320: C Programming

Precalculus Algebra Online Course Syllabus

Division of Fine Arts Department of Photography Course Syllabus

Course: ISYS 4373 Application Development with Java Prerequisite: ISYS 3293

Alabama Department of Postsecondary Education. Representing The Alabama Community College System

Kent State University, College of Business Administration. Department of Accounting, Fall REVISED Aug 22, Instructor:

CENTRAL TEXAS COLLEGE ITSE 2459 ADVANCED COMPUTER PROGRAMMING C# Semester Hours Credit: 4 INSTRUCTOR: OFFICE HOURS:

Art 301 Web Design. Louis A. Solis Office Hours: Fri 1-3pm Location of Office hours: room AC404

Math 103, College Algebra Spring 2016 Syllabus MWF Day Classes MWTh Day Classes

Online Course Syllabus. POL 1113: American National Government. Fall 2015

Lake-Sumter Community College Course Syllabus. STA 2023 Course Title: Elementary Statistics I. Contact Information: Office Hours:

Online Basic Statistics

INTRO TO COMPUTER GRAPHICS

Anderson Schools of Management Accounting Department Revised 1/7/2014 COURSE SYLLABUS Check LMS for most current! MGT 490/594 CPA Exam Preparation

CS 394 Introduction to Computer Architecture Spring 2012

BMI 540: Computer Science with Java Programming Oregon Health & Science University

Kinesiology 164 Introduction to Sports and Exercise Psychology Spring 2015

COURSE SYLLABUS PSYCHOLOGY 201 GENERAL PSYCHOLOGY (CRN #34981) WINTER 2010 TR 9:30 10:50 a.m. NSH-109

CHEM PRINCIPLES OF CHEMISTRY Lecture

231 Consumer and Market Behavior Section 01 Summer 2015

AHS 119 Health Careers Allied Health Sciences Department

CMSC Fundamentals of Computer Programming II (C++)

Accounting : Accounting Information Systems and Controls. Fall 2015 COLLEGE OF BUSINESS AND INNOVATION

THE UNIVERSITY OF TEXAS AT TYLER COLLEGE OF BUSINESS & TECHNOLOGY Fall 2015

Imperial Valley College Course Syllabus - Elementary Differential Equations Math 220

COM 1010, Basic Web Design

CS 170 Java Programming 1. Welcome to CS 170. All about CS 170 The CS 170 Online Materials Java Mechanics: Your First Program

IT 145 Section 300 Fall 2013 Web Design Fundamentals: HTML and Style Sheets. Syllabus and Course Outline

IVY TECH COMMUNITY COLLEGE REGION 03 SYLLABUS MATH 136: COLLEGE ALGEBRA SUMMER Instructor: Jack Caster Telephone: ext.

ECON 351: Microeconomics for Business

Other Requirements: USB drive, Internet Access and a campus address.

Psychological Testing (PSYCH 149) Syllabus


University of Central Florida Rosen Campus

Psychology 125- Psychology of Aging ONLINE Saddleback College Fall Course Description and Objectives

INTRODUCTION TO CRIMINAL JUSTICE 101- Hybrid

EMPORIA STATE UNIVERSITYSCHOOL OF BUSINESS Department of Accounting and Information Systems. IS213 A Management Information Systems Concepts

Foothill College Winter 2014 Pre-Calculus III Math 48C CRN # units

SOCIAL PROBLEMS Online Course Syllabus SOC 1303-D10 CRN Fall 2015 Angelo State University

Managerial Accounting - ACG Syllabus. Florida Keys Community College. Course Prefix/Number/Course: ACG 2071 Managerial Accounting

COMM Interpersonal Communication Course Syllabus Fall 2013

The course assumes successful completion of CSCI E-50a and CSCI E-50b, i.e. at least two semesters of programming, with a grade of C- or better.

**SYLLABUS IS SUBJECT TO CHANGE**

Strategic Use of Information Technology (CIS ) Summer /

COURSE APPROVAL DOCUMENT Southeast Missouri State University

How To Pass A Customer Service Course At Tstc

Department of Electrical and Computer Engineering. EEL 3160 Embedded C++ and Data Structures. Tuesday & Thursday 3:00 5:00 pm

CRJU Introduction to Criminal Justice (CRN 20933) Course Syllabus Spring 2015

ISM 4113: SYSTEMS ANALYSIS & DESIGN

TECH 4101 HUMAN RESOURCES FOR ADMINISTRATIVE AND TECHNOLOGY MANAGERS (R1 section) Course Syllabus Fall 2015

General Psychology. Course Syllabus

CA252: Spreadsheet Applications Syllabus

Syllabus Government 2306: Texas State and Local Government: 3 Credit Hours / 0 Lab Hours

Brazosport College Syllabus for PSYC 2301 General Psychology

MKT 403: Electronic Marketing, Class 38724

Online College Algebra

Los Angeles Pierce College. SYLLABUS Math 227: Elementary Statistics. Fall 2011 T Th 4:45 6:50 pm Section #3307 Room: MATH 1400

PSYCHOLOGY 101 ONLINE. Course Information and Syllabus Summer 2014

Accounting Fundamentals of Accounting Class Syllabus Spring 2014 (Instructor Reserves the Right to Make Changes)

Collin College Business and Computer Systems

Curriculum Map. Discipline: Computer Science Course: C++

Syllabus COP2334: Introduction to Programming in C++

Transcription:

CS A250 (CRN 20690-25399) C++ Programming Language 2 Syllabus Fall 2015 Instructor: Gabriela Ernsberger E-mail: gernsberger@occ.cccd.edu Course Web site: www.thisclass.info Office: MB Computing Center 116 Office Hours: MW 1:45-2:20 pm / MW 4:55-5:15 pm / TTh 4:55-6:00 pm Classroom: MB Computing Center 123 Hours: CRN 25399 CRN 20690 MW 11:10am - 01:45pm TR 06:00pm 08:35pm Course Description Course Description. Second course in ANSI/ISO Standard C++ programming language. Topics include sorting and searching, data structures, operator overloading, memory management, exception handling, name scope management, polymorphism, templates, STL containers, STL algorithm and iterators, and functional programming. Prerequisites. Before enrolling in this class, you need to complete CS A150, C++ Programming Language 1, with a grade of C or better. When taking this course, you are EXPECTED to already know how to create C++ applications that include the following: Control structures Functions that pass parameters by value and by reference Classes OOP and separate compilation Dynamic variables and arrays Pointers Recursion Inheritance Transfer Credit. CSU; UC.

Course Objectives. The course objectives for this course are as follows: 1. Compare performance of various sort and search techniques. 2. Create class templates and function templates that show the extensibility of the language. 3. Create programs that use the container classes in the Standard Template Library (STL). 4. Apply memory management techniques to solve problems. 5. Differentiate between the assignment operator and the copy constructor. 6. Produce programs that use the concept of overloaded functions and operators with respect to classes. 7. Implement and manipulate singly- and doubly-linked lists. 8. Produce programs that show the understanding of polymorphism as it applies to C++. 9. Apply the concept of abstract classes to enhance their understanding of OOP concepts. 10. Produce programs that use the exception handling features of the language. 11. Produce programs that show an understanding and appreciation for iterators and algorithms in STL. 12. Produce programs that show an introductory understanding of functional programming. Student Learning Outcomes. Upon successful completion of this course, the student should be able to: Use C++ to solve problems that incorporate the use of class and function templates, linked lists, and overloaded operators. Use a functional programming language to solve problems by implementing lambda expressions. Textbooks and Software Textbook. There is no specific textbook for this course. Lectures, slides, exercises, and projects make up the material you need to prepare for the course. If you feel you need to also have a textbook, then there are a few suggestions for you listed below. (Note that the edition does not really matter). Absolute C++ Savitch C++ How to Program Deitel Big C++ Horstmann Objects, Abstraction, Data Structures and Design: Using C++ Koffman, Wolfgang Keep in mind that some authors use different versions of the algorithms and code syntax. You will be responsible for material presented in class, NOT for material learnt from any of the suggested books. Software. We will be using Visual Studio 2013 to complete all programming exercises and exams. The software is installed on most of the computers in the MB Computing Center. If you would like to own the software, you can do the following: Visual Studio 2013 This is the full edition. Ask the front desk at the Computing Center how to get a copy. Visual Studio Express 2013 for Windows Desktop This is a smaller version of Visual Studio. You will need to register to obtain a registration key (registration is free).

Student Evaluation To be successful in this course you need to study the assigned material from the slides and code examples, work on the exercises and projects, attend class, and do well on the exams and final assessment. IMPORTANT: No matter what your grade is at the end of the semester, if you do NOT take the final exam, you will NOT pass the class. Exercises. Some of the exercises will be assigned as homework and some will be assigned as class work. You will get credit for turning in 80% of the exercises; the 20% margin will take care of a few exercises you might miss. In-class exercises o These will be randomly assigned during class and must be completed by the end of the class period, unless stated otherwise. Some of these exercises will be on paper; therefore, make sure you bring paper and pencil to class. At-home exercises o All at-home exercises need to be turned in on the due date before class starts. Projects. There will be two (2) programming projects that you can complete by yourself or as a group with other students in the class a maximum of three (3) students in a group is allowed. Programming Exams. You will be required to write C++ code. The number of the exams will be determined during the semester, but the total scores for all exams will remain fixed to 70 pts. Midterm and Final. Both midterm and final exams are on paper (make sure you bring a pen/pencil). Type of questions will be: multiple-choice, true/false, short answer, find the output, find the error, and write missing statements for a given code segment. The final exam will be comprehensive. If you miss the midterm exam, you will be assigned the grade you received on the final exam. If your final exam score is greater than your midterm exam score, the final exam score will replace the midterm score. Assessment. This is a short quiz that will be given on the last day of the semester, which will include only questions related to the SLO s. IMPORTANT: There is NO make-up for any of the exams (programming exams, midterm, final, assessment). Programming Exercises. These programming exercises will help you prepare for the programming exams. Although solutions to some of these exercises will be provided, it is important that you try and do them yourself because all programming exams will be based on these exercises.

IMPORTANT: It is YOUR responsibility to look at the solutions given and compare them to your implementation and ask me questions if you are in doubt. Grading. All grades will be posted on the class Web site. On the third week of class, you will be getting instructions on how to access your grades. You should check your grades regularly and notify me immediately if there are any inconsistencies. Grades will be calculated as follows: Points 80% of exercises turned in 10 Projects 20 Programming Exams 70 Midterm 40 Final 40 Assessment 10 Total 190 A >= 171 B >= 152 C >= 133 D >= 95 The CCFaculty Q Drive The CCFaculty Q drive is where you can find material presented during the week and where you can turn your projects. You can access the Q drive only from the Computing Center using any computer. To access the Q drive: 1. Go to Start Computer 2. Select ccfaculty on occsdfs (Q:) 3. Select faculty2 gernsberger Submission folder. This is the folder where you can drop your project. Drop the files in the folder that has your course name. IMPORTANT: Before dropping a folder, you need to compress it as a zip (NOT.rar); otherwise the files inside your folder will not transfer. A simple file does NOT need to be compressed.

NOTE: You may not be able to retrieve and/or modify files that are stored in the submission folder. If you need to make changes to your project, simply re-submit by naming your file as indicated in the homework instructions and add the suffix _S2. For each subsequent submission, increase the submission number to _S3, _S4, etc. Files folder. This is where you can find the week s course material. Files will be stored in there until the beginning of the following week, after they have been posted on the class Web site. Saving Your Work As a programmer, you should already know how important it is to back up your work regularly. You should always have at least two copies of your work, saved in two different places. Accidentally deleting or losing your work is not an excuse for not turning in your assignments. These are a few options on how to save your work: Bring a flash drive Upload it to Google Drive via your student account Send an email to yourself with your work as an attachment, BUT do not include the.exe file, because your email server will recognize it as an application and possibly discard the file. Programming Standards Name Headers. You are required to write a name header on all projects and programming exams. The header is placed at the beginning of the main file, where the main() function is implemented, unless otherwise specified. Failure to do so in any of the programming exams will cost you 1 point. The format required for the name header is shown below: /* Lastname, Firstname // If you are working as a group, write all names CS A250 Month (day), (year) // Month must be written in letters (leave one line) Project #/Exam # */ IMPORTANT: This is about paying attention to detail, which means that you are expected to write your name header as shown here to avoid losing 1 point. Naming Standards. You will be testing other students files, and for this reason it is imperative that you use the same standards for identifiers.

Use camelcase for: o Variables var, myvariable o Objects obj, myobject o Functions func, myfunction Use all CAPITAL_LETTERS separated by an underscore (_) for: o Constants CONSTANT, MY_CONSTANT Use PascalCase (this is also called UpperCamelCase) for: o Classes Class, MyClass Academic Honesty Although I encourage you to discuss your work with other students and look at their code as well, you are NOT allowed to copy code from someone else s implementation AND/OR to exchange files. At the end of the semester, I will be testing your code with MOSS (Measure of Software Similarity), which is a software used to detect plagiarism. If I find two or more files that are the same, you will automatically get an F in the class and you will be reported to the Dean of Students. RULES for all exams: No cell phones No flash drives (or any type of external memory) No notes, no books No calculators No watches No hats No ear phones No talking to other students Seating will be assigned Bring a pen/pencil (I will provide paper) The exercises are designed to prepare you for the programming exams. It is to your advantage to work on them on your own. Nevertheless, I suggest you talk to other students and compare ideas with one another. Again, this does NOT meaning exchanging files.

Attendance Attendance is mandatory. Class starts at the time shown on the schedule, but lecture starts 10 minutes after. This is to give you time to log in to a computer and be ready for lecture. I will take attendance 10 minutes after class starts either by calling your names or by relying on the classroom s network software when you log in to any of the class computers, your ID shows on the network and marks you as present. Note: Do NOT disconnect yourself from the network, or you will be marked absent. A few rules about attendance: If you miss any class meetings on the first two weeks OR if you miss more than three (3) class meetings in the following weeks you may be dropped without notice; do not assume, however, that you will be automatically dropped if you fail to come to class. It is your responsibility to withdraw from class and to check the deadlines on the OCC Web site. If you arrive to class AFTER I took roll, you will be considered absent. If you fall asleep during class hours, you will be asked to leave the room. Note that students cannot be dropped after the stated deadline for the last day to drop with a W. Communication The best way to communicate with me is through email AND/OR coming to my office during office hours. I read and reply to emails from Monday through Friday early in the morning. Email. You need to set up your OCC student email account to receive my emails. You can access your email account through MyOCC. You may send me emails from your personal account as long as you write in the subject "CS A250". Replies will be sent to the sending address. Announcements. I will email you any last-minute announcements to your OCC student email address (not your personal email address), so do check your email account daily. Forwarding Your Student Email. Instructions on how to forward your student email to your personal account can be found on the OCC Web site.

Other Course Information Incomplete grade. I do not give incomplete grades to anyone. If you are not able to take the final exam, you will not pass the class, but you can retake the class at a later time and overwrite your grade with a passing grade. Disruptive Behavior. I expect all of you to be polite, respectful, and helpful to your fellow students, and to leave your sitting station neat and clean. If, in my judgment, your behavior negatively impacts the rest of the class, you may be subject to disciplinary action. Disabilities. If you have a disability that may impede your ability to successfully complete this course, you should contact the Disabled Student Center (432-5807 or 432-5604 TDD) no later than the first week of the course. Their staff will assist you in arranging accommodations that can help you meet course requirements. Reservation of Rights. I reserve the right to change this syllabus without limitation and without prior notice. If I do modify any item or policy, I will notify you by sending you an email to your OCC email account.