Course Description



CS 521 INFORMATION STRUCTURES WITH PYTHON: SYLLABUSCourse DescriptionThis course covers the concepts of the object-oriented approach to software design and development using the Python programming language. It includes a detailed discussion of programming concepts starting with the fundamentals of data types, control structures methods, classes, arrays and strings, and proceeding to advanced topics such as inheritance and polymorphism, creating user interfaces, exceptions and streams. Upon completion of this course students will be capable of applying software engineering principles to design and implement Python applications that can be used in conjunction with analytics and big data.Course Objectives and Learning GoalsYou will be able toReadily use the Python programming language Organize and modularize programsUnderstand and apply object-oriented program design and developmentApply various data types and control structuresUse class inheritance and polymorphismCreate user interfacesDeal with exceptionsIntegrate Web access into applicationsUnderstand and begin to implement secure, robust, and scalable codeResourcesContemporary programming languages like Python enjoy rich online documentation. Indeed, they are built on the premise that programmers are continually in contact with such documentation, and are not expected to memorize any but a small fraction of it. The textbook for the course is below but you should not have high expectations of it as a resource because of the dominance of online documentation and tutorials.“Python Programming: An Introduction to Computer Science” by John M. Zelle, Franklin Beedle & Associates (December 2003), ISBN-10: 1887902996, ISBN-13: 978-1887902991Week-by-Week TopicsWeekly ActivitiesEach week you will need to:Read the lecturesRead recommended pages in the textbook (listed below)Complete the interim assessment for feedbackComplete the homework assignment(s)WeekModuleTopicReadings1 and 21Module 1: Introduction-- Relationship between computers and programs -- Data types, variables, expressions, and statements -- Using the Python interpreter-- Control Structures: loops and decision-- Numerical computingZelle Chapters 1, 2, 3, 7, 83 and 42Module 2: Modularization and Files-- Defining functions-- Modules-- Packages-- Standard modules-- Reading and writing filesZelle Chapter 6Online Notes and references cited there5 and 63Module 3: Classes-- Functions and their arguments-- Defining Classes -- Object Oriented Programming -- Inheritance and PolymorphismZelle Chapter 4, 107 and 84Module 4: Exceptions and User Interfaces-- Error processing-- Exception Raising and Handling -- Graphics -- Coordinates and color-- Data Structures (Arrays, Lists, Maps, and Iterators)Notes and references cited there9 and 105Module 5: Data Structures and Databases-- Sets, dictionaries, and hashing-- Linked Lists-- Stacks-- Queues-- Database accessNotes and references cited thereRe-maining6Module 6: Multithreading and Web Access-- Multithreading and synchronization -- Networking -- Internet computing-- Web AccessNotes and references cited there; Braude received his Ph.D. from Columbia University in mathematics and Master’s in Computer Science from the University of Miami. He taught at CUNY and Penn State, followed by twelve years in government and industry as a software engineer, scientist, and manager. He is an Associate Professor of Computer Science at Boston University’s Metropolitan College where he has at times held the chairmanship and the acting associate deanship. His research concerns reliable program construction. Eric has written, co-written, or edited six books, including “Software Engineering” and “Software Design.” His most recent papers appeared in Science of Programming in 2014 and at the Learning@Scale 2015 conference.(For a complete resume, see?.)Computer Science DepartmentMetropolitan CollegeBoston University808 Commonwealth Ave Room 258 ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download