Number | Project Title | Category |
---|---|---|
Project #1 | C++ Exercises | Build C++ skills |
Project #2 | Improve the design and implementation of one of your class Projects. The intent is to develop a professional quality product that you will be proud to discuss during an interview. | Portfolio Project |
Project #3 | Build a Pluggable Repository in C# or C++, where policies are pluggable components. Example policies are: ownership, storage management, checkin and checkout, versioning, ... | Portfolio Project |
Project #4 | Explore the |
Build your software development sophistication |
Project #5 | Graph Visualization - Demo | Portfolio Project |
Project #6 | C++ Reflection | Portfolio Project |
Project #7 | Remote Directory Synchronization with WPF and WCF | Build .Net Skills |
Project #8 | C++ Tiny HTTP Web Server and HTTP Client | Portfolio Project |
Project #9 | Use Ajax Protocols, HTML5, and Tiny Web Server to build a cross-platform GUI | Portfolio Project |
Project #10 | Platform Tools - build platform wrappers used by common code, e.g., Process handler, Convert Sockets to Linux, Shared memory handler, ... | Portfolio Project |
Project #11 | Process management class(es) for Windows and Linux | Portfolio Project |
Project #12 | Add buffered string reading to Socket::getString() | Sharpen C++ skills |
Project #13 | C++ Serialization and DeSerialization | Build C++ skills |
Project #14 | Program Animation - Build annotator to support data flow and control flow animation | Research Project |
Project #15 | Audible Thread Traces - Build audible trace library to support multi-thread debugging | Research Project |
Project #16 | C++ Code Checker - check code for Liskov Substitution errors and more | Build C++ skills |
Project #17 | Draw UML Class Diagram from source code using type analysis | Portfolio Project |
Project #18 | Generate source code from UML Class Diagram persisted to XML | Portfolio Project |
Project #19 | Build an object model in JavaScript for HTML5 canvas drawings, e.g., like Silverlight | Research and Portfolio Project |
Project #20 | Stories Web Site - structured to present stories about people and institutions | Portfolio Project |
Project #21 | Explore Javascript Frameworka like Node.js, Express.js, and Angular.js | Expand your background knowledge |
Project #22 | Learn a functional programming language like Haskell, Rust, Erlang, or Scala | Expand your background knowledge |
Project #23 | Baysian Networks | Research Project |
Project #24 | Build personal website using MEAN Stack - MongoDb, Express.js, Angular.js, Node.js | Portfolio Project |
Project #26 | Build Test Harness server using a Process pool so each test runs in its own process, without creating an excessive number of processes. Could use socket-based message passing for IPC. Another alternative would use shared memory and placement new to share a BlockingQueue. | Portfolio Project |
Project #27 | Create web apps using HTML and CSS with Mavo | Explore new stuff |
Project #28 | Explore web-related open source projects like D3 - Data Visualization, node.js - http dispatching with JavaScript, Grunt - JavaScript utilities, jQuery - cross browser JavaScript library, JSHint - Javascript static analyzer | Explore new stuff |
Project #29 | Build web app using Angular2.js in ASP.Net MVC & Web API | Portfolio project |
Project #29 | Integrate node.js with a C++ application. Here's some help. |
Portfolio projet, try new stuff |
Project #30 | Try out the Silicon C++ Web Framework for building Web APIs in C++ |
Portfolio project, try new stuff |
Project #31 | Build a Graph class in either C++ or C# (or both) to strengthen your skills with those languages. Note that you are asked to build the Graph Class using a map or dictionary, which will prevent you from using the graph classes linked below. You may, however, look at them for ideas. | Improve your development skills |
Other Projects | This links to the CSE775 Distributed Objects Final Projects for Spring 2018. | Improve your development skills |
Topic | Link |
---|---|
C++ References & Tutorials |
cppreference.com,
isocpp.org cplusplus.com, cprogramming.com, tutorialspoint.com, learncpp.com C++ Knowledge Base |
HTTP Protocol | HTTP Made Really Easy - J.Marshall |
Network Programming | Beej's Guide using internet sockets, Network Programming with .Net, CMU.edu pdf |
Containers | Getting started with Containers - part1 of 8, Getting Started with Docker for Windows, Getting started with Windows Containers |
MEAN Stack | thinkster.io video and text tutorials, brandoncode tutorial, Web App and RESTful API Server, fullstacktutorials, ToDo App, meanjs.org |
Machine Learning | Introductiory Primer, ML - Wikipedia, ML - Andrew Ng, Standford.edu |
Node.js |
JavaScript running in Browser,
docx JavaScript running in Hosted Node.js, docx Nodejs.org about page, W3Schools node.js tutorial, tutorialspoint node.js tutorial |
JavaScript |
JavascriptECMAScript6 |
Haskell | Haskell.org, Real World Haskell, on-line ebook |
Rust | Rust - Wikipedia, rust-lang.org, Rust, the Book |
Python | python.org |
Namespace | Package Title | Description | Platform |
---|---|---|---|
PlatformTools | FileSystem - Windows | C++ Library of tools for manipulating files and directories | Windows & Linux |
Threading | BlockingQueue | C++ Blocking Queue class | Windows & Linux |
Thread Pool | Tasks and ThreadPool | C++ Task class using Threadpool | Windows & Linux |
XMLTools | XmlDocument | C++ XML Document class | Windows & Linux? |
XMLTools | XmlReader & XmlWriter | C++ Xml Reader and Writer classes | Windows & Linux |
NoSQL dbs | C++ NoSqlDb | Instructor's Solution - meets requirements but could use some polishing | Windows |
ParsingTools | C++ Parser embedded in Code Analyzer | Rule-based Ad Hoc Parser | Windows |
ParsingTools | C# Parser | Rule-based Ad Hoc Parser | Windows |
GraphLib | C++ Graph | C++ graph library | Windows |
GraphLib | C# Graph | C# graph library | Windows |
CommTools | Sockets 5.3 | C++ Sockets Library & Sender and Reciever classes | Windows |
Project | Description | For |
---|---|---|
github Project Repositories | Repositories for my solutions for class projects, mostly OOD, and for reusable components. Provide sources - interfaces, object factories, and implementations - that illustrate how to do some interesting things. | Anyone interested, especially former students. |
Static Website on github | Provide access to, and design information about my github repositories. Eventually this will grow to contain some of the things this website holds, e.g., blogs and commentary. | Anyone interested |
Pluggable Repository | Repository that can be tailored, via plug-ins, to match the working style of a Software Development group. Default plug-ins tailored to my own uses. | My own use and for anyone interested. |
Repository Code Updates |
Minor additions, modifications, and bug-fixes
|
Repository code formerly used for CSE687 - OOD and CSE681 - SMA |
Tiny HTTP client and Server |
Build socket-based HTTP classes used for communication between processes and machines. These will
replace my Message-passing Comm code with similar code that supports the HTTP protocol. The intent
is to support asynchronous one-way communication as well as synchronous client-server interactions.
|
My own use and anyone interested |
Update Blogs | Simplify and clarify discussions, add links to sample code, provide more details in expando controls. Add a few new topics, e.g., hosted resources, reusable components, and website design. | Support github repositories |
Course Repository | Configure Repository directories to hold header files, static libraries, and dynamic-link libraries, as well as all the source code. | Make user access simpler |
Language Specific Projects | Explore C++17 and C++20, C# 8.0, Java ecosystem, Rust, Go, R, and whatever else amuses me. I'm interested in digging into the pros and cons of each, e.g., performance, ease of use, expressiveness, range of applicability, ... | Some of what I learn here will be folded into repository projects. |
Start working on a book or two | Current thoughts are: Illustrating Design with C++ and Core Implementation Models with C++. The intent is to discuss ideas, illustrated with simple code fragments, and provide complete code sources for executables in one of my github repositories. | I'll do this if there seems to be enough interest |