• Home
  • Resources
    • Find Resources by Topic Tags
    • Cybersecurity Policy Chart
    • CSIAC Reports
    • Webinars
    • Podcasts
    • Cybersecurity Digest
    • Standards & Reference Docs
    • Journals
    • Certifications
    • Acronym DB
    • Cybersecurity Related Websites
  • Services
    • Free Technical Inquiry
    • Core Analysis Task (CAT) Program
    • Subject Matter Expert (SME) Network
    • Training
    • Contact Us
  • Community
    • Upcoming Events
    • Cybersecurity
    • Modeling & Simulation
    • Knowledge Management
    • Software Engineering
  • About
    • About the CSIAC
    • The CSIAC Team
    • Subject Matter Expert (SME) Support
    • DTIC’s IAC Program
    • DTIC’s R&E Gateway
    • DTIC STI Program
    • FAQs
  • Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Login / Register

CSIAC

Cyber Security and Information Systems Information Analysis Center

  • Resources
    • Find Resources by Topic Tags
    • Cybersecurity Policy Chart
    • CSIAC Reports
    • Webinars
    • Podcasts
    • Cybersecurity Digest
    • Standards & Reference Docs
    • Journals
    • Certifications
    • Acronym DB
    • Cybersecurity Websites
  • Services
    • Free Technical Inquiry
    • Core Analysis Task (CAT) Program
    • Subject Matter Expert (SME) Network
    • Training
    • Contact
  • Community
    • Upcoming Events
    • Cybersecurity
    • Modeling & Simulation
    • Knowledge Management
    • Software Engineering
  • About
    • About the CSIAC
    • The CSIAC Team
    • Subject Matter Expert (SME) Support
    • DTIC’s IAC Program
    • DTIC’s R&E Gateway
    • DTIC STI Program
    • FAQs
  • Cybersecurity
  • Modeling & Simulation
  • Knowledge Management
  • Software Engineering
/ Authors & Presenters / Dr. Jim Fawcett
Dr. Jim Fawcett

Dr. Jim Fawcett

Dr. James Fawcett is Teaching Professor Emeritus of Computer Engineering at Syracuse University. He has extensive experience in industry and in academia.

From 1991 to May 2019, Dr. Fawcett taught a sequence of graduate software design courses, focused on methods and strategies for design, development, and management of large and complex distributed software systems. Prior to that, he worked in various roles for General Electric (GE) company, including Advanced Engineering Training assignments, Systems Engineer at the Electronics Laboratory, and Developer and Manager in the Radar Systems Department. He also taught, as an adjunct, a variety of graduate Electrical Engineering courses at Syracuse University.

Currently, Dr. Fawcett is developing a GitHub code repository – a collection of reusable software components with corresponding documentation and blogs. The site also serves as a platform for experimenting with methods for documenting and deploying code.

Podcasts / Webinars

  • CSIAC Webinars » Publishing Domain Specific Source Code for Reuse and Maintenance

    Software reuse of components supplied by language libraries and libraries affiliated with languages are great success stories.  However, reuse of domain specific code – that supporting the specific needs of specialized domains like research, teaching, industrial development – has not…

    Watch Video

  • C++ Models » Code Structure – C++ Models Part 1 of 6

    Part 1 of this 6-part video series discusses techniques for structuring code to support an effective code management strategy (specifically with regard to readability and maintenance) as software systems become large and difficult to understand. The use of packages with object factories and interfaces is discussed with an example.

    Watch Video

  • C++ Models » Compilation and Execution – C++ Models Part 2 of 6

    Part 2 of this 6-part video series discusses the compilation process model, the preprocessor, and operations of the compile-link-load tool chain. The Execution model is described with a focus on function stack frames, memory, and use of streams.

    Watch Video

  • C++ Models » Memory and Class Models – C++ Models Part 3 of 6

    Part 3 of this 6-part video series discusses the memory model paradigm, and foundational concepts behind the usage of memory: static, stack, and heap. The Class Model is described using illustrations of the relationships between code residing in static memory, and instances of objects in stack memory.

    Watch Video

  • C++ Models » C++ Object Model – C++ Models Part 4 of 6

    Part 4 of this 6-part video series provides a conceptual overview of the C++ object model with description and exemplars that illustrate the layout of code in memory, and how the layout of memory affects object construction.

    Watch Video

  • C++ Models » C++ Polymorphism – C++ Models Part 5 of 6

    Part 5 of this 6-part video series discusses methods for building code with the flexibility to support change. Public inheritance coupled with pointers and references, support type substitution and provides one method to enable code to change without breaking existing package dependencies. The virtual function dispatching model is described with an exemplar.

    Watch Video

  • C++ Models » C++ Templates and Conclusions – C++ Models Part 6 of 6

    Part 6 of this 6-part video series describes templates with a focus on the code generation model. Template function overloading and template class specialization are discussed. The conclusions section provides information on where to find the models presentation and the example code.

    Watch Video

  • Rust Models » Introduction to the Rust Programming Language – Rust Models Part 1

    This video provides an introduction and a brief overview of the Rust Programming Language. It covers the prerequisites required for getting started. This includes: the setup of a development environment using Visual Studio Code, and the Rust package manager and build tool known as “Cargo.”

    Watch Video

  • Rust Models » Ownership Model – Rust Models Part 2

    Discusses the Rust Language Ownership model which uses a type safety policy for avoiding undefined program behavior. The Rust type system ensures memory safety and prevents data races in multi-thread programs. The language rules for program variable (data) mutation, and the differences between value copies and moves is discussed in detail. Variable data is, by default, immutable. Variables must be annotated with the “mut” keyword in order to be modified.

    Watch Video

  • Rust Models » Object Model – Rust Models Part 3

    This video discusses the Rust Object model and language facilities for representing user-defined types. Rust does not have support for classes, but does provide structs, which are similar to classes used in other object-oriented languages like C++. “Traits” are similar to interfaces or abstract classes and support polymorphic operations. Rust provides encapsulation of data members and access control through the use of the “pub” keyword which specifies whether members of a struct are accessible to clients.

    Watch Video

  • Rust Models » Generic Types – Rust Models Part 4

    This video discusses Rust “Generic Types”, a language facility for defining types that depend on a parameter specified at compile time. Rust Generics are similar to generic types used in Java and C#, but unlike C++ templates which support specialization.

    Watch Video

  • Rust Models » Code Structure – Rust Models Part 5

    This video discusses structure and organization of Rust projects. Crates and packages (modules) are the building blocks for Rust programs. Programs are composed of sources organized into packages that consist of a directory built with the Cargo build tool.

    Watch Video

  • CSIAC Webinars » Rust Error Handling

    Rust is a modern programming language that supports safe system programming with: compiler verified freedom from undefined behavior, support for building race-free multithreaded code, and ability to create abstractions needed for building large maintainable code bases. This presentation begins with…

    Watch Video

  • Rust Models » Rust Programming Language: Addressing Software Development and Program Security Shortfalls

    This podcast features a roundtable discussion centered around challenges and benefits of using a new programming language called “Rust,” which can fundamentally improve resilience and survivability of software intensive systems.

    Watch Video

Reader Interactions

Leave a Comment Cancel

You must be logged in to post a comment.

sidebar

Blog Sidebar

Featured Content

Data Privacy Day - Jan 28

Data Privacy Day is January 28th

You can help create a global community that respects privacy, safeguards data, and enables trust. You can help teach others about privacy at home, at work, and in your community.

Learn How

Featured Subject Matter Expert (SME): Daksha Bhasker

A dynamic CSIAC SME, Senior Principal Cybersecurity Architect, Daksha Bhasker has 20 years of experience in the telecommunications services provider industry. She has worked in systems security design and architecture in production environments of carriers, often leading multidisciplinary teams for cybersecurity integration, from conception to delivery of complex technical solutions. As a CSIAC SME, Daksha's contributions include several published CSIAC Journal articles and a webinar presentation on the sophiscated architectures that phone carriers use to stop robocalls.

View SME's Contributed Content

The DoD Cybersecurity Policy Chart

The DoD Cybersecurity Policy Chart

This chart captures the tremendous breadth of applicable policies, some of which many cybersecurity professionals may not even be aware, in a helpful organizational scheme.

View the Policy Chart

CSIAC Report - Smart Cities, Smart Bases and Secure Cloud Architecture for Resiliency by Design

Integration of Smart City Technologies to create Smart Bases for DoD will require due diligence with respect to the security of the data produced by Internet of Things (IOT) and Industrial Internet of Things (IIOT). This will increase more so with the rollout of 5G and increased automation "at the edge". Commercially, data will be moving to the cloud first, and then stored for process improvement analysis by end-users. As such, implementation of Secure Cloud Architectures is a must. This report provides some use cases and a description of a risk based approach to cloud data security. Clear understanding, adaptation, and implementation of a secure cloud framework will provide the military the means to make progress in becoming a smart military.

Read the Report

CSIAC Journal - Data-Centric Environment: Rise of Internet-Based Modern Warfare “iWar”

CSIAC Journal Cover Volume 7 Number 4

This journal addresses a collection of modern security concerns that range from social media attacks and internet-connected devices to a hypothetical defense strategy for private sector entities.

Read the Journal

CSIAC Journal M&S Special Edition - M&S Applied Across Broad Spectrum Defense and Federal Endeavors

CSIAC Journal Cover Volume 7 Number 3

This Special Edition of the CSIAC Journal highlights a broad array of modeling and simulation contributions – whether in training, testing, experimentation, research, engineering, or other endeavors.

Read the Journal

CSIAC Journal - Resilient Industrial Control Systems (ICS) & Cyber Physical Systems (CPS)

CSIAC Journal Cover Volume 7 Number 2

This edition of the CSIAC Journal focuses on the topic of cybersecurity of Cyber-Physical Systems (CPS), particularly those that make up Critical Infrastructure (CI).

Read the Journal

Recent Video Podcasts

  • Privacy Impact Assessment: The Foundation for Managing Privacy Risk Series: The CSIAC Podcast
  • Agile Condor: Supercomputing at the Edge for Intelligent Analytics Series: CSIAC Webinars
  • Securing the Supply Chain: A Hybrid Approach to Effective SCRM Policies and Procedures Series: The CSIAC Podcast
  • DoD Vulnerability Disclosure Program (VDP) Series: CSIAC Webinars
  • 5 Best Practices for a Secure Infrastructure Series: The CSIAC Podcast
View all Podcasts

Upcoming Events

Wed 27

Enterprise Data Governance Online 2021

January 27 @ 08:00 - 13:30 EST
Organizer: DATAVERSITY
Thu 28

Data Privacy Day

January 28
Jan 28

Data Privacy Day

January 28, 2022
View all Events

Footer

CSIAC Products & Services

  • Free Technical Inquiry
  • Core Analysis Tasks (CATs)
  • Resources
  • Events Calendar
  • Frequently Asked Questions
  • Product Feedback Form

About CSIAC

The CSIAC is a DoD-sponsored Center of Excellence in the fields of Cybersecurity, Software Engineering, Modeling & Simulation, and Knowledge Management & Information Sharing.Learn More

Contact Us

Phone:800-214-7921
Email:info@csiac.org
Address:   266 Genesee St.
Utica, NY 13502
Send us a Message
US Department of Defense Logo USD(R&E) Logo DTIC Logo DoD IACs Logo

Copyright 2012-2021, Quanterion Solutions Incorporated

Sitemap | Privacy Policy | Terms of Use | Accessibility Information
Accessibility / Section 508 | FOIA | Link Disclaimer | No Fear Act | Policy Memoranda | Privacy, Security & Copyright | Recovery Act | USA.Gov

This website uses cookies to provide our services and to improve your experience. By using this site, you consent to the use of our cookies. To read more about the use of our site, please click "Read More". Otherwise, click "Dismiss" to hide this notice. Dismiss Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.