Search Constraints
Filtering by:
Campus
Sacramento
Remove constraint Campus: Sacramento
Department
Computer Science
Remove constraint Department: Computer Science
Number of results to display per page
Search Results

- Creator:
- Khiria, Ritika
- Description:
- In this project, the Personal Dietitian android application will use food ontology APIs, which is a part of knowledge representation and semantic web technology to produce diet plans for the users. Additionally, the app will provide an activity tracker which will track the steps walk, climb, and run by the user. The activity tracker is built using an API which uses accelerometer and gyroscope sensors built into the Android device. The application will start by signing up or logging the user with the Personal Dietitian application. The signup and login screen which will be useful to the user to manage their activities in the application. The application provides four main user functionalities, namely, the activity tracker, meal planner, reports, and health blog. (1) The Activity Tracker is used for tracking the user steps including the walking, running and stairs time along with the total step taken in a day. (2) The Meal planner activity is used to get the suggested meal plans with the help of the user's general information (Height, Weight, Gender, Age, and Body fat) and the food ontology database APIs. This functionality also allows the user to add foods manually using text search and voice search. (3) The third feature, Progress Report activity is used to present the weekly and monthly reports of the activity tracker and nutrients consumed by the user in the form of a line and pie chart. Moreover, the user can also see his/her weekly progress for the activity tracker and meal planner by just clicking the icons on the activities in the form of bar chart as well as a daily report in a list format. (4) The last activity is the health blog which can be used to see different blogs available online related to the health and life improvement.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science

- Creator:
- Bhokare, Mitali
- Description:
- Virtualization means to create a virtual or software-based representation of something rather than having a physical one. Beyond expanding the computing potential, virtualization can be used as a technique to increase security. This project has implemented certain techniques to achieve virtualization in cyber security and the work has been performed in two parts. The first part explains virtualization for cyber security education and the second part emphasizes on using virtualization to host security competitions. The first part of the project is mainly being used for educational purposes for courses such as CSC 138 (Computer Networks and Internets). The existing assignments require significant effort to build, configure, and maintain software and often do not support flexibility, and scalability. The objective of the project is to provide an environment, which will contain all the installed software. Cloud Computing shares resources over the Internet to provide services to the applications to achieve consistency [1] and economies of scale. Currently, security of the architecture has been one of the most significant field of cloud computing. [1]. Security is a field in Computer Science, which is difficult to be mastered by only reading books; it needs good hands-on experience as well in order to practice various experiments. This part of the project is being focused on cyber security education. A very well-known competition in the security field is Capture the flag (CTF). The motive of this part of the project is to setup the Facebook Capture the Flag (FBCTF) in our college and provide students the opportunity to practice their cyber security skills.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science

- Creator:
- Kuan, Nientzu
- Description:
- Analyzing the U.S. stock market is a big data challenge due to its high volume of data and large price volatility. This project demonstrated how deep learning, specifically the Long Short Term Memory (LSTM) recurrent neural network, could make use of the huge amount of financial data to predict stock price movement. The main goal was to help investors make better stock trading decisions and increase their stock portfolio’s return by forecasting future stock price trends in 1-month periods based on historical market data. The applied learning model used stocks selected from various market sectors as inputs and forecasted the individual stock price trend for each sector separately. To evaluate the model, experimental results were compared to determine which market sectors were most effectively predicted, based on these three metrics: predicted against actual plot, accuracy of price movement, and root mean squared error. The experimental results showed that the future stock price trend in certain market sectors are more effectively predicted than in the other sectors.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science

- Creator:
- Dalavi, Reena Prakash
- Description:
- Emotions play an important role in shaping how we think and how we behave in many situations. Our action depends upon the surrounding emotions and paying attention to the surrounding emotions helps us take a decision. When we interact with other people, it's important to give cues to them to help them understand how we feel. It may be conveyed in the form of facial expressions and changes in voice pitch. Social communication plays an essential role in our daily lives and relationships and being able to interpret and react to others emotion, which helps us respond to irritated people in the workplace and public places. A video is an effective medium to communicate at personal and professional levels. A video is more effective than image because the contiguous images make it clearer to convey emotions and analyze accurately. In this project, a standalone application for emotion recognition with the convolutional neural network (CNN) for image prediction and support vector machine (SVM) for audio prediction is implemented. CNN has characteristic of adaptive feature extraction. It is applied for emotion recognition. Feature extraction is done on basis of RGB value. In feature extraction, the sampling is used for the operation to change or modify the image for the transforming for computation purpose. Pooling is used for reducing the number of parameters in the neural network. It also helps to make feature extraction more accurate by making impervious to scale and orientation. The max pooling is used on basis of max values from a region of image pixel array. The classification of an object is done using a fully connected layer like the classification of emotions from a face. In this project, audio mining includes extracting features from audio, preprocessing on features and labeling and SVM training. The features taken into consideration are Mel Frequency Cepstral Coefficients. These features are used in SVM as input. The output from CNN modules consists of the emotions from images in the video. The extracted audio from video is used as input to SVM module for emotion classification. The result from each module is used for analyzing whether the user selected emotions are present in the video. The dominant emotions are used for classifying the video categories.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science
- Creator:
- Patel, Nevil Dilipkumar
- Description:
- PC2v10 is a web-based contest management framework which supports the ability to create and configure contests, control who can participate in defined contests, start/stop contests, and a variety of similar operations. [10] PC2v10 consists of various components like Resource Manager, App Server, Dispatcher, and Checker. Resource Manager is one of the primary components of PC2V10 system. The Resource Manager is primarily responsible for creating, starting, stopping, and deleting “machines” running a variety of modules mentioned above. AppServer is responsible for communicating with users (i.e. Teams, Judges, and Contest Administrator). The Dispatcher receives a request from the teams to “run” their submission and it redirects the request to the module (i.e. Checker) which can run the submission. Finally, Checker is the module which is responsible for compiling, executing and validating the submission received from the dispatcher. Currently, components like AppServer, Dispatcher, and Checker run on different JVMs but on the same physical machine. This architecture uses the resources and capability of only one system and is not scalable enough to handle many concurrent users. Remote machine spawning process can be generalized by having VMware virtual machines and Docker containers. When Resource Manager determines heavy load on any of the system component, it will request for the Docker container depending on the availability. Spawning Docker containers instead of different JVMs on the same system presents many advantages. By distributing load across various virtual machines or Docker containers, we can ensure high availability of the system. Also, software failure on any virtual machine doesn’t affect any other virtual machines. By doing this, an increased number of users (Judges, Administrator, and teams) can concurrently use the system and it allows to scale the system very easily than when using physical machines.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science
- Creator:
- Dong, Yulong
- Description:
- Nowadays, online social networking is becoming one of the options for botnet command and control (C&C) communication, and QR codes have been widely used in the area of software automation. In this paper, we exploit QR codes, Twitter, Tor network, and domain generation algorithm to build a newer generation of botnet with high recovery capability and stealthiness. Unlike the traditional centralized botnet, our design achieves dynamic C&C communication channels with no single point of failure. In our design, no cryptographic key is hard-coded on bots. Instead, QR codes and domain generation algorithm are used to store and produce dynamic symmetric and asymmetric keys. By using this approach, botnet C&C communication payload can be ensured in terms of the randomization and confidentiality. We implement our design via Twitter and real-world Tor network. According to the experiment results, our design is capable to do C&C communication with low data and minimal CPU usage. The goal of our work is to draw defenders' attention for the cyber abuse of online social networking and Tor network; especially, the searching feature in online social networks provides a covert meet-up channel, and needs to be investigated as soon as possible. Finally, we discuss several potential countermeasures to defeat our botnet design.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science
- Creator:
- Wahane, Arundhati V
- Description:
- There are various approaches for Extensible access control markup language (XACML) security policies implementation. This project demonstrated a solution to use graph database to implement XACML Role-based access control in Neo4j. The project consists of two parts: the XACML Policy Writer module and User XACML request/response module. These modules have their own steps to define the functionality. The XACML policy writer module first input the XACML role-based access control file to its parser engine to extract all the related data. Then the CQL interface step generates cypher query commands to form users, roles and resources nodes and direct arcs to represent their relationships. The XACML request/response module then inputs the XACML request file to help the user of the system to find if a user have permissions to access its own resources or any other resources of its sub-users. This project used Neo4j to handle complex hierarchical data structure and multiple relationships between nodes in the graph database.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science
- Creator:
- Aldausari, Nuha
- Description:
- Design by contract (DBC) is an effective methodology that dynamically checks whether a program meets its specifications which are also called design contracts. The contracts for object-oriented programs are defined in terms of preconditions and postconditions for methods as well as invariants for classes. However, if there is an error in a large piece of code that has a design contract, it is still tedious and difficult to spot the exact location of that error. To address this issue, a tool named Subcontractor has been developed. Subcontractor is implemented in Eclipse environment using libraries such as Java Development Tools (JDT), Plugin Development Environment (PDE), and JFace. The tool Subcontractor is built upon an open source DBC tool, OpenJML Runtime Assertion Checking (RAC), which is a tool that verifies specifications at runtime. Subcontractor enhances this DBC tool by automatically generating subcontracts for programs using inference rules of program logic for if-statements and loop-statements. When the programs with the automatically generated and inserted subcontracts are verified using OpenJML Runtime Assertion Checking (RAC), identification of errors in the code can be facilitated.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science
- Creator:
- Appana, Pranavi
- Description:
- An intruder attacks a computer network and breaks into it by exploiting a combination of system vulnerabilities. An attack graph models security vulnerabilities of a network and a sequence of all possible exploits that an intruder can use to get incremental access to critical resources. However, an attack graph fails in assuring missions of the victim networks. Current research does not concentrate on the impact of attacks on missions. To prevent or minimize the possibility of critical missions from getting impacted, mission cyber resilience or active cyber defense is very important. Mission impact graph is a graphical model that enables mission impact assessment and cyber resilience or active cyber defense. As a result, it can improve cyber resilience analysis on systems with critical missions. Even though these graphs are efficient, their size and complexity can make them difficult for human to fully understand and make use of the information received. Filtering this huge amount of complex information is important to help an administrator of a network effectively allocate resources. Therefore, we require a way to prioritize this valuable information into a priority list to help an administrator better understand security problems and efficiently utilize human and financial resources. Following an approach based on Google PageRank and Asset Rank, we compute relative importance of the nodes in a mission impact graph. The nodes in a mission impact graph contain information such as mission-task dependencies; status of missions, tasks, services and assets; and the causality relationships between all the nodes. As a result, it can significantly improve the understanding of security risks on a network and analyze proper countermeasures.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science
- Creator:
- Lin, Zhaoyan
- Description:
- This project is the implementation of Test Run, a test-run feature for the web version of PC2. PC2 is a programming contest control system developed at California State University, Sacramento. PC2 is widely used for conducting programming contests including the annual world-wide International Collegiate Programming Contest (ICPC). The web version of the client software a contest team used in PC2 is the EWTeam Web Client, which allows the network connection to the PC2 server software and the contest participation on a web browser. The existing version of EWTeam Web Client does not provide a test-run functionality that the locally-run client software Team Application has. Therefore, this project is to complete the missing test-run feature in the EWTeam Web Client. With the Test Run feature implemented, a team can submit a test run to the PC2 server. The program will be tested using the same environment that is used for a formal run submission but the test outcome will not affect the team’s standing in the contest. The purpose of the project is to help improve contestants’ performance in the contest, extend the usability of PC2 and raise the awareness of software testing. The project started with an analysis of the existing PC2 architecture and the workflow of handling a formal run submission. Using the analysis as a reference, the Test Run feature requirements were determined from three main perspectives: a team client, a server, and a judge client. These three modules are the essential components for handling and processing a test run submission. The design criteria of the Test Run feature was proposed based on the software requirements. The implementation of the Test Run feature is full stack development that involves both front-end and back-end modification. It started with the back-end modification on the PC2 system. A set of new classes and functions were implemented to handle a test run from submission to execution, and eventually collect the test run results. The PC2 API that connects the EWTeam Web Client and the server was modified to facilitate the communication between the two modules. When the back-end architecture was set up, the front-end modification on the web-based interface was implemented to complete the Test Run feature. The back-end development was written in Java. The front-end development involves the use of HTML, CSS, JavaScript and PHP scripts. The implementation was tested by JUnit tests and a simulated programming contest. The results of the testing proved that the implementation had satisfied all the software requirements identified in the project. The project also proposed several enhancements that can be implemented with future development to extend the functionality of the Test Run feature.
- Resource Type:
- Project
- Campus Tesim:
- Sacramento
- Department:
- Computer Science