ENCE 688R Civil Information Systems

Similar documents
San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016

3D Graphics Programming Mira Costa High School - Class Syllabus,

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

Welcome to CS 4/57101 Computer Graphics

Real-Time Systems: An Introduction

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

San Jose State University - Department of Computer Science

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

Wayne State University Department of Computer Science CSC 5991: Advanced Web Technologies. Functional (Scala) Programming for the Web.

Course and Contact Information. Course Description. Course Objectives

Cleveland State University

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2, Fall Semester, 2017

CS 3270 Mobile Development for Android Syllabus

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

College Algebra. Cartesian Coordinates and Graphs. Dr. Nguyen August 22, Department of Mathematics UK

Course and Contact Information. Course Description. Course Objectives

Programming Languages CSCE

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

Object-Oriented Programming for Managers

Programming 1. Outline (111) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

CPSC 2380 Data Structures and Algorithms

CSci 4211: Data Communications and Computer Networks. Time: Monday and Wednesday 1 pm to 2:15 pm Location: Vincent Hall 16 Spring 2016, 3 Credits

Cleveland State University

CSC 210 COMPUTER SCIENCE II

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 3 & 4, Fall Semester, 2016

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

ITT Technical Institute. SD2720 Advanced Software Development Using Java Onsite and Online Course SYLLABUS

Java Programming Daniel Liang 10th Edition Solutions File Type

Hours: See Canvas staff information for TA hours.

CMPE/SE 135 Object-Oriented Analysis and Design

Course Administration

ITE 205 Software Design and Programming I

Compilers for Modern Architectures Course Syllabus, Spring 2015

Data Structures and Algorithms

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2 Spring Semester, 2018

CMPUT 391 Database Management Systems. Fall Semester 2006, Section A1, Dr. Jörg Sander. Introduction

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

CS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang

University of Asia Pacific (UAP) Department of Computer Science and Engineering (CSE)

CS/SE 153 Concepts of Compiler Design

McGill University COMP-202A Introduction to Computing I Summer 2006 webct.mcgill.ca

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10

Calculus Early Transcendentals 5th Edition Larson Solutions

Computer Science Technology Department

CMPE 152 Compiler Design

HCI-4/631 Software Architectures for User Interfaces, Fall 2006

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

CIS 120. Introduction to Programming

Basics of Java Programming CS129 LTPC:

CSCI 201L Syllabus Principles of Software Development Spring 2018

Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

COLLEGE OF ENGINEERING COURSE AND CURRICULUM CHANGES. October 19, Rathbone Hall. 3:30pm. Undergraduate/Graduate EXPEDITED

CSC 111 Introduction to Computer Science (Section C)

San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017

COMP-202A: Introduction to Computing 1

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

CSC6290: Data Communication and Computer Networks. Hongwei Zhang

CMPE 152 Compiler Design

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

Starting Out With Java Gaddis

AP Computer Science A

Geography 3300: Transportation Security

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

ECOM 2314 COMPUTER PROGRAMMING II

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

Compulsory course in Computer Science

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

Part A: Course Outline

CS 470G Introduction to Operating Systems

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018

CS 210 Algorithms and Data Structures College of Information Technology and Engineering Weisberg Division of Engineering and Computer Science

Objects and Classes Lecture 1

FREE JAVA TUTORIALS & GUIDE JAVA PROGRAMMING SOURCE CODE FREE JAVA COMPILERS AND JAVA PROGRAMMING - FREEBYTE'S GUIDE TO

Computer Networks IT321

ECE 3574: Applied Software Design

Data Structures and Algorithms

CMPE 280 Web UI Design and Development

CMPE 152 Compiler Design

CSCI 565 Compiler Design and Implementation Spring 2014

Eight units must be completed and passed to be awarded the Diploma.

CS313T ADVANCED PROGRAMMING LANGUAGE

Computer Networking Background

University of Engineering and Technology, Taxila Department of Civil Engineering

Introduction to Computer Systems

San José State University Department of Computer Science CS 166 / SE 166, Information Security, Section 4, spring, 2017

Course Name: Computer Vision Course Code: IT444

SWE3004: Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

CS/SE 153 Concepts of Compiler Design

ESET 369 Embedded Systems Software, Fall 2017

Transcription:

Mark Austin, Department of Civil Engineering, University of Maryland, College Park. Notes from Class Meet the Class: [ 2012 ] [ 2013 ] [ 2016 ] [ 2017 ] Projects: [ 2012 ] [ 2013 ] [ 2016 ] [ 2017 ] GOALS This course will be a hands-on introduction to engineering software development for the model-based design and operational management of modern civil systems. Students will learn how to model the structure and behavior of civil systems, and then develop object-oriented software solutions for specific civil systems applications. Motivating case studies will be drawn from road, rail, and utility networks, networked building services, and spatial modeling for buildings and urban areas. Click here to see a sample of screenshots from recent class projects. COURSE CONTENTS - SPRING SEMESTER 2018 The topics will be as follows: Part 1: Data and Information Management for Modern Civil Systems (2 weeks) Modern Civil Systems Topic: Features and required capabilities. Topic: Role of sensing, communications, control, and computation. Topic: Pathway from sensing to data to information, knowledge and decision making to action. Topic: Cyber-physical systems. Topic: Challenges in development and operational management. Visual Modeling with UML Topic: History and Goals of UML. Topic: Represention of concepts, relationships, constraints, rules and operations. Topic: Modeling abstractions for system structure and system behavior. Motivating Case Studies Architecture and behavior modeling for the Washington D.C. Metro System. Object and topological relationships in the GIS domain. Applications of the Open Street Map Markup Language (OSM). Part 2: Object-Oriented Software Development (3 weeks) Languages for Engineering Software Development Topic: Evolution of computer languages over the past 20 years? Topic: Features of low- and high-level languages Page 1 of 5

Topic: Features of scripting languages versus compiled languages Getting Started with Java Topic: Writing and Compiling a Simple Java Program, Topic: Basic programming (data types, expressions, assignments, branching constructs, loops), Topic: Public and private methods and data. Topic: Single- and multi-dimensional arrays, Topic: Software Productivity Tools: Ant Topic: Integrated Development Environments: Eclipse, Netbeans, Xcode 5/6. Object- and Component-Based Modeling Topic: Classes, objects, association relationship. Topic: Inheritance and abstract classes. Topic: Guidelines for class and package design. Introduction to Data Structures and Algorithms Topic: Arrays, arraylists, hash tables, and trees. Topic: Working with the Java Collections Framework. Part 3: Modeling System Structure and System Behavior (2 weeks) Modeling System Structure Topic: Association relationships (e.g., many-to-one, many-to-many), Topic: Graph and network data structures and algorithms. Topic: Two- and three-dimensional spatial representations. Modeling System Behavior Topic: Finite state machines and statecharts. Case Study Topic: Structure and Behavior Modeling for the Washington D.C. Metro System Part 4: Design Patterns and Graphical User Interfaces (GUIs) (2 weeks) Introduction Topic: Design patterns in architecture and city planning. Topic: Definition and Importance Structural Design Patterns Topic: Composite, adapter, and bridge design patterns. Behavioral Design Patterns Topic: Observer and mediator design patterns. System Design Patterns Topic: Model-view-controller and router design patterns. GUI Development with JavaFX Topic: Organization of JavaFX components. Topic: Layout managers, event listeners. Topic: Working with Standard Geometric Shapes. Case Study Topic: Visualization of networks and graphs. Part 5: Advanced Topics (2 weeks) Depending on student interests and project needs, topics will be selected from: Integration of Software Systems with Python Topic: Features and benefits of Python. Topic: Writing and running a simple Python programs. Topic: Working with Jython. More Graphical User Interface Development Topic: Working with JavaFX. Topic: Working with free plotting software (e.g., ptplot). Concurrent Behavior Modeling with Threads Topic: Working with the Runnable Interface. Topic: Lifecycle of a threaded process. Page 2 of 5

Topic: Threads and observers. Topic: Opportunities and applications. XML binding for Java (JAXB) Topic: Java to XML conversion. Topic: XML to Java conversion. Working with Semantic Web Technologies Topic: The Resource Description Framework (RDF). Topic: The Web Ontology Langage (OWL). Topic: Semantic Modeling with Jena and Jena Rules. Students will complete individual homework assignments, and work in small teams on a Civil Systems software development project. COURSE PREREQUISITES Graduate level status in engineering. An introductory knowledge of computers and hands-on computer programming. A good knowledge of engineering mathematics (e.g., calculus, linear algebra, differential equations). TIME AND LOCATION OF CLASS/OFFICE HOURS Class. EGR 3114, Tuesday and Thursday, 5-6.15 pm. Office Hours. By appointment. For a quick response, send me an e-mail. COURSE ASSESSMENT AND EXAMINATION SCHEDULE The course will be assessment will be as follows: Homework (20%). One midterm exam (25%). The exam will be open book and open notes. Final exam (25%): May XX, 5-7pm in our regular classroom. The exam will be open book and open notes and will be similar in style to the midterm exam. Study hints have been posted to the notes-from-class web page. End-of-semester project/report involving the use of graphs/networks (30%). Note. Students may drop the midterm exam if they do better on the final exam (i.e., it can count for up to 50% of the final grade). TEXTBOOKS AND SUPPORT MATERIAL SOFTWARE DEVELOPMENT WITH JAVA Liang Y.D., Introduction to Java Programming (Comprehensive Version), 8th Edition, Prentice-Hall, 2011. Horstmann C., Object-Oriented Design and Patterns, 2nd Edition, John-Wiley and Sons, 2003. James Gosling, et al., The Java Language Specification: Java SE 7 Edition, 2013. James Gosling, et al., The Java Language Specification: Third Edition, 2005. SOFTWARE DEVELOPMENT WITH PYTHON Liang Y.D., Introduction to Python Programming, Prentice-Hall, 2012. Beazley D.M., Python: Essential Reference (Fourth Edition), Addison Wesley, 2009. CLASS LECTURE NOTES The class lecture notes are now available from the Engineering Copy Center. Cost: $55 (Cash or Check made out to "University of Maryland"). SUPPORT MATERIAL Collections of research papers and presentations on the various topics covered in class will be distributed in class. Page 3 of 5

In recent semesters I have simply passed a CD/memory stick around the classroom. BACKGROUND TEXTS Civil Systems Modeling Eastman C., Teicholz P., Sacks R., and Liston K., BIM Handbook, John Wiley and Sons, 2008. Butler J.A., Designing GeoDatabases for Transportation, ESRI Press, 2008. Zeiler M., Modeling our World: The ESRI Guide to Geodatabase Design, ESRI Press, 1999. Design Patterns Stelting S. and Maassen O., Applied Java Patterns, The SUN Microsystems Press/Prentice-Hall, 2002. CIVIL SYSTEMS ON THE WEB Open-Air Computers: Cities are turning into Vast Data Factories Economist, October 27, 2012. High-Tech Sensors Help Old Port City Leap Into Smart Future NPR, June 4, 2013. SIEMENS : Building Sustainable Cities Living PLanIT Technologies for Sustainable Cities JAVA AND PYTHON SOURCE CODE Getting Started with Java Working with Java Swing and Java 2D Working with Java Collections In class, Java/Python code will be distributed for: Working with software design patterns, Working with graph and networks, Working with semantic web (i.e., rule-basd reasoning with ontologies and rdf graphs), Working with two-dimensional GIS (i.e., Java Topology Suite), Working with solid models, Working with symbolic expressions, and Working with physical units. SOFTWARE TOOLS AND LIBRARIES Java 2D: An Introduction and Tutorial. Working with Java3D and Scenegraphs (from the UK) Java programming source code examples (www.java2s.com) Python programming source code examples (www.java2s.com) Wicked Cool Java (www.wickedcooljava.com) Downloads for Wicked Cool Java Java Topology Suite (Robust algorithms for two-dimensional GIS) Google SketchUp. Numeric and Scientific Programming in Python. Python 3D Software Collection. Scientific Tools for Python (www.scipy.org). GME Tutorials at Vanderbilt (see short tutorials for construction of networked blocks). Libraries for Constraint Programming Page 4 of 5

Graph Databases listed at Wikipedia. Take a look at Neo4J, a graph database from Sweden that scales to billions of nodes, relations and properties, and works with both Java and Python. Last Modified: January 24, 2018. Copyright 2012-2017, Department of Civil and Environmental Engineering, University of Maryland Page 5 of 5