Filtering by
- All Subjects: Educational technology
- All Subjects: Declarative programming
- All Subjects: Web Scraping
- Creators: Bansal, Ajay
To facilitate rapid, correct, efficient, and intuitive development of graph based solutions we propose a new programming language construct - the search statement. Given a supra-root node, a procedure which determines the children of a given parent node, and optional definitions of the fail-fast acceptance or rejection of a solution, the search statement can conduct a search over any graph or network. Structurally, this statement is modelled after the common switch statement and is put into a largely imperative/procedural context to allow for immediate and intuitive development by most programmers. The Go programming language has been used as a foundation and proof-of-concept of the search statement. A Go compiler is provided which implements this construct.
are constantly changing, and adapting to these changes in an academic curriculum
can be challenging. Given a specific aspect of a domain, there can be various levels of
proficiency that can be achieved by the students. Considering the wide array of needs,
diverse groups need customized course curriculum. The need for having an archetype
to design a course focusing on the outcomes paved the way for Outcome-based
Education (OBE). OBE focuses on the outcomes as opposed to the traditional way of
following a process [23]. According to D. Clark, the major reason for the creation of
Bloom’s taxonomy was not only to stimulate and inspire a higher quality of thinking
in academia – incorporating not just the basic fact-learning and application, but also
to evaluate and analyze on the facts and its applications [7]. Instructional Module
Development System (IMODS) is the culmination of both these models – Bloom’s
Taxonomy and OBE. It is an open-source web-based software that has been
developed on the principles of OBE and Bloom’s Taxonomy. It guides an instructor,
step-by-step, through an outcomes-based process as they define the learning
objectives, the content to be covered and develop an instruction and assessment plan.
The tool also provides the user with a repository of techniques based on the choices
made by them regarding the level of learning while defining the objectives. This helps
in maintaining alignment among all the components of the course design. The tool
also generates documentation to support the course design and provide feedback
when the course is lacking in certain aspects.
It is not just enough to come up with a model that theoretically facilitates
effective result-oriented course design. There should be facts, experiments and proof
that any model succeeds in achieving what it aims to achieve. And thus, there are two
research objectives of this thesis: (i) design a feature for course design feedback and
evaluate its effectiveness; (ii) evaluate the usefulness of a tool like IMODS on various
aspects – (a) the effectiveness of the tool in educating instructors on OBE; (b) the
effectiveness of the tool in providing appropriate and efficient pedagogy and
assessment techniques; (c) the effectiveness of the tool in building the learning
objectives; (d) effectiveness of the tool in document generation; (e) Usability of the
tool; (f) the effectiveness of OBE on course design and expected student outcomes.
The thesis presents a detailed algorithm for course design feedback, its pseudocode, a
description and proof of the correctness of the feature, methods used for evaluation
of the tool, experiments for evaluation and analysis of the obtained results.
Instructional Module Development System (IMODS) is a web-based software system that guides STEM instructors through the complex task of curriculum design, ensures tight alignment between various components of a course (i.e., learning objectives, content, assessments), and provides relevant information about research-based pedagogical and assessment strategies. The data model of IMODS is highly connected and has an inherent graphical representation between all its entities with numerous relationships between them. This thesis focuses on developing an algorithm to determine completeness of course design developed using IMODS. As part of this research objective, the study also analyzes the data model for best fit database to run these algorithms. As part of this thesis, two separate applications abstracting the data model of IMODS have been developed - one with Neo4j (graph database) and another with PostgreSQL (relational database). The research objectives of the thesis are as follows: (i) evaluate the performance of Neo4j and PostgreSQL in handling complex queries that will be fired throughout the life cycle of the course design process; (ii) devise an algorithm to determine the completeness of a course design developed using IMODS. This thesis presents the process of creating data model for PostgreSQL and converting it into a graph data model to be abstracted by Neo4j, creating SQL and CYPHER scripts for undertaking experiments on both platforms, testing and elaborate analysis of the results and evaluation of the databases in the context of IMODS.
Kitsune attempts to remedy these issues by tying itself to Antlr, a pre-existing language recognition tool with over 200 currently supported languages. In addition, it provides an interface through which generic manipulations can be applied to the parse tree generated by Antlr. As Kitsune relies on language-agnostic structure modifications, it can be adapted with minimal effort to provide plagiarism detection for new languages. Kitsune has been evaluated for 10 of the languages in the Antlr grammar repository with success and could easily be extended to support all of the grammars currently developed by Antlr or future grammars which are developed as new languages are written.
This project aims to incorporate the aspect of sentiment analysis into traditional stock analysis to enhance stock rating predictions by applying a reliance on the opinion of various stocks from the Internet. Headlines from eight major news publications and conversations from Yahoo! Finance’s “Conversations” feature were parsed through the Valence Aware Dictionary for Sentiment Reasoning (VADER) natural language processing package to determine numerical polarities which represented positivity or negativity for a given stock ticker. These generated polarities were paired with stock metrics typically observed by stock analysts as the feature set for a Logistic Regression machine learning model. The model was trained on roughly 1500 major stocks to determine a binary classification between a “Buy” or “Not Buy” rating for each stock, and the results of the model were inserted into the back-end of the Agora Web UI which emulates search engine behavior specifically for stocks found in NYSE and NASDAQ. The model reported an accuracy of 82.5% and for most major stocks, the model’s prediction correlated with stock analysts’ ratings. Given the volatility of the stock market and the propensity for hive-mind behavior in online forums, the performance of the Logistic Regression model would benefit from incorporating historical stock data and more sources of opinion to balance any subjectivity in the model.
User interface development on iOS is in a major transitionary state as Apple introduces a declarative and interactive framework called SwiftUI. SwiftUI’s success depends on how well it integrates its new tooling for novice developers. This paper will demonstrate and discuss where SwiftUI succeeds and fails at carving a new path for user interface development for new developers. This is done by comparisons against its existing imperative UI framework UIKit as well as elaborating on the background of SwiftUI and examples of how SwiftUI works to help developers. The paper will also discuss what exactly led to SwiftUI and how it is currently faring on Apple's latest operating systems. SwiftUI is a framework growing and evolving to serve the needs of 5 very different platforms with code that claims to be simpler to write and easier to deploy. The world of UI programming in iOS has been dominated by a Storyboard canvas for years, but SwiftUI claims to link this graphic-first development process with the code programmers are used to by keeping them side by side in constant sync. This bold move requires interactive programming capable of recompilation on the fly. As this paper will discuss, SwiftUI has garnered a community of developers giving it the main property it needs to succeed: a component library.