BOSTON  UNIVERSITY
Metropolitan  College
MET CS 231,  Programming with C++
Course Syllabus
(Rev 0)
	
Summer Term 2, 2020   	                    Tuesday and Thursday Evenings, 7/7 – 8/13, 6:00PM – 9:30PM
John S. Maslanka, Ph.D.     		                                                                           Remote using ZOOM
Email: maslanka@bu.edu            	                                                     Department phone: (617) 353-2566
                                                     	                                       Home phone: (781) 784-6232 with voicemail
									  Cell: (339) 364-0442		
Course Objective:
To gain an understanding the fundamental usages of the C++ language, the usage of the Object-Oriented paradigm, and of the "class" syntax of the generalized Object-Oriented programming contained in the C++ language.  Upon completion of this course the student is expected to be able to use the C++ language to design and write Object-Oriented computer programs to solve a selection of quantifiable problems.

Preliminary Expectations:
All students have successfully completed the equivalent of MET CS 201, Introductory Computer Science.  Or, you may be professionally engaged in computer programming either currently or recently.  Students are expected to do their homework exercises on a system which supports an ANSI C++ with a related Interactive Development Environment (IDE), i.e. Windows, MacOS  or a UNIX or linux-based system.  I use MS Windows-10 and MS Visual C++ 2015 on my laptop.

Gradables:
Four Homework Problems for 12.5% each, one Midterm Exam 25% and one Final Exam 25%.  The Midterm will be Take-home. The Final will be given in class on the date specified in the attached course calendar. The problem statements for the assignments will be provided by the Professor. Please note: All rules and regulations of Boston University Metropolitan College regarding academic integrity apply to the conduct of this course. Please take time to review the Student Academic Conduct Code which can be found at the following URL: 
http://www.bu.edu/met/metropolitan_college_people/student/resources/conduct/code.html. 

Textbook: C++ How to Program, 10th edition by Deitel and Deitel, Pearson, 2017,
ISBN-13: 978-0134448237 (ISBN-10: 0134448235).  This is an excellent reference book for your programming library.
Reference: Introduction to Programming in C++, edition 1, by John Maslanka, publisher Kendall-Hunt, Dubuque, Iowa, 2009, ISBN 978-0-75475-6465-7.
	
Website: The Blackboard Website for the course is under the Boston University website URL learn.bu.edu.  All students are expected to enroll in the website for the course and to read the materials regularly which I shall place there.  You will need a BU computer id and password to access it.

Dr. Maslanka is a professional writer of computer language compilers and run-time systems. He worked at the former Digital Equipment Corporation from 1975 to 1984 in their Marlboro, MA facility.  He has been most recently employed by Hewlett Packard Company/Compaq Computer Corporation in their Nashua NH facility, from 1991 to 2002 when he took retirement.  Also, he has taught part time in the BU MET College Computer Science Department since September, 1973.

BU MET CS 231                       Course Calendar                       Summer Term 2, 2020

Dates	Topics								Readings 
July 7	Course Overview										Usage of fundamental Data Types – bool, int, double, char	Ch 1 - 2
		C++ Primary Inputs and Outputs, including Testing		
		Usage of MSVS Interactive Development Environment (IDE)
		Homework 1 available

July 9	Control of Flow and Operator Precedence			Ch 4 - 5
		Homework 1 due in email

July 14	C++ File IO -- Text File inputs and outputs 			Ch 14 - 15
		Arrays								Ch 7 - 7.5
July 16	Elementary Functions						Ch 6.16 - 6.22
		Use of dereferencing data type (*)				Ch 8,
		Strings								Ch 7 - 7.5
		Homework 2 available

July 21	Functions including Overloading, Recursion; and templates	Ch 6.16 - 6.22
		Use of referencing (&) data type					Ch 8, Ch 10.9
		Homework 2 due in email

July 23	new and delete operators					
		Usage of Dynamic Memory (Heap)
		C++ class - basic concepts and syntax				Ch 3 - 3.5
		Constructors and Destructors
		Take-Home Midterm Exam available

July 28 	C++ class - Usage of C++ objects				Ch 3.6 - 3.8
		Data Abstraction and Program Abstracion – usage of .h and .cpp file
		Preprocessor							App E

July 30     C++ class - Overloading of Methods and Operators		Ch 10 -10.7
		Take-Home Midterm Exam due in email 
		Homework 3 available

Aug 4	Aggregation/Composition,					Ch 11.3.1
		Exception Handling						Ch 7-7.5, 7.10, 
		friend functions and friend classes 				Ch 9.12, 10.2

Aug 6	Template classes
		Standard string Library, Standard Library (STL)			Ch 15, Ch 21
		Concept and Usage of Inheritance in C++			CHh11: 1-2
			Homework 3 due in email – C++ class required	
		Homework 4 available

Aug 11	Abstract Data Types and Virtual Methods			Ch 12 – 12.5
		Polymorphism/Delegation in C++    				Ch 12.6-12.7
		Review for Final Exam
		Homework 4 due in email 

Aug 13	Final Exam 6:15 - 8:15 PM.
All course work must be completed by this evening. My course grades must be submitted to the Registrar within 48 hours after the termination of the Final Exam.