Schedule-Creator

Java GUI to create schedules for UNCG students
git clone git://git.wrycode.com/wrycode/archive/Schedule-Creator.git
Log | Files | Refs | README

commit a7bd2ae55a1a604b1ae20cd7afb7b6bb9c8a8f22
parent 67ac5f06cf96533fd77f3bd4094381bc66ff9286
Author: jamisonv93 <47033011+jamisonv93@users.noreply.github.com>
Date:   Sun, 23 Feb 2020 10:43:45 -0500

Merge pull request #9 from jamisonv93/updates

Includes changes from "reformat" branch and additional features
Diffstat:
DCourses with Abbreviations.txt | 105-------------------------------------------------------------------------------
AScheduleCreator/App.java | 50++++++++++++++++++++++++++++++++++++++++++++++++++
AScheduleCreator/Boilerplate.java | 27+++++++++++++++++++++++++++
AScheduleCreator/DBAdapter.java | 81+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AScheduleCreator/ParseData.java | 34++++++++++++++++++++++++++++++++++
AScheduleCreator/Tests.java | 20++++++++++++++++++++
AScheduleCreator/controllers/CoursesController.java | 111+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
AScheduleCreator/controllers/PrimaryController.java | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rsrc/ScheduleCreator/models/Course.java -> ScheduleCreator/models/Course.java | 0
Rsrc/ScheduleCreator/models/Schedule.java -> ScheduleCreator/models/Schedule.java | 0
Rsrc/ScheduleCreator/models/Section.java -> ScheduleCreator/models/Section.java | 0
AScheduleCreator/models/User.java | 34++++++++++++++++++++++++++++++++++
RSpring 2020 Class Schedule Listing.txt -> ScheduleCreator/resources/raw/spring2020 | 0
RSummer 2020 Class Schedule Listing.txt -> ScheduleCreator/resources/raw/summer2020 | 0
AScheduleCreator/resources/raw/user_selected_courses.txt | 2++
AScheduleCreator/resources/style.css | 11+++++++++++
AScheduleCreator/resources/views/primary.fxml | 11+++++++++++
AScheduleCreator/resources/views/registration_screen.fxml | 18++++++++++++++++++
AScheduleCreator/resources/views/select_courses.fxml | 41+++++++++++++++++++++++++++++++++++++++++
DTestFile.txt | 916-------------------------------------------------------------------------------
Dsrc/ScheduleCreator/App.java | 50--------------------------------------------------
Dsrc/ScheduleCreator/ParseData.java | 39---------------------------------------
Dsrc/ScheduleCreator/PrimaryController.java | 65-----------------------------------------------------------------
Dsrc/ScheduleCreator/TestFeature.java | 25-------------------------
Dsrc/ScheduleCreator/Tests.java | 22----------------------
Dsrc/ScheduleCreator/models/User.java | 24------------------------
Dsrc/ScheduleCreator/resources/primary.fxml | 11-----------
Dsrc/ScheduleCreator/resources/registration_screen.fxml | 18------------------
Dsrc/ScheduleCreator/resources/select_classes.fxml | 20--------------------
Dsrc/ScheduleCreator/resources/style.css | 6------
30 files changed, 510 insertions(+), 1301 deletions(-)

diff --git a/Courses with Abbreviations.txt b/Courses with Abbreviations.txt @@ -1,105 +0,0 @@ -(ARS) Academic Recovery Seminar -(ACC) Accounting -(ADS) African Amrcn/African Diaspora -(ASL) American Sign Language -(ATY) Anthropology -(APD) Apparel Product Design -(ARB) Arabic -(ART) Art -(ARE) Art Education -(ARH) Art History -(AST) Astronomy -(BIO) Biology -(BUS) Business Administration -(CHE) Chemistry -(CHI) Chinese -(CCI) Classical Civilization -(CSD) Comm Sciences and Disorders -(CTR) Comm Therap/Recr Studies -(CST) Communication Studies -(CTP) Comp Trans/Post Second Ed -(CSC) Computer Science -(CNS) Consortium -(CRS) Consumer, Apparel, Retail Stds -(CED) Counseling and Ed Devlp -(DCE) Dance -(ECO) Economics -(ELC) Educ Ldrship and Cultrl Fndts -(ERM) Educatnl Research Methodology -(ENG) English -(ENS) Ensemble -(ENT) Entrepreneurship -(ENV) Environmental Studies -(FIN) Finance -(FFL) Foundations for Learning -(FRE) French -(FMS) Freshman Seminars Program -(GEN) Genetic Counseling -(GEO) Geography -(GER) German -(GRO) Gerontology -(GRK) Greek -(GRC) Grogan College -(HHS) Health and Human Sciences -(HED) Higher Education -(HIS) History -(HSS) Honors College -(HDF) Human Develp / Family Studies -(BLS) Humanities -(ISM) Info Sys and Operations Mngmt -(IPS) Integrated Professional Stds -(ISC) Integrated Science -(ISL) Integrated Studies Lab -(IAR) Interior Architecture -(ITD) Interior Design -(ITL) Interlink -(IPC) International Programs Center -(ISE) International Stu Exchange -(IGS) International/Global Studies -(ITA) Italian -(JNS) Japanese Studies -(JYA) Junior Year Abroad -(KIN) Kinesiology -(LLC) Lang, Lit, & Cultures -(LAT) Latin -(LIS) Library/Information Studies -(MGT) Management -(MKT) Marketing -(MBA) Master's in Business Admin -(MAT) Mathematics -(MST) Media Studies -(MCP) Middle College -(MSC) Military Science -(MUE) Music Education -(MUP) Music Performance -(MUS) Music Studies -(NAN) Nanoscience -(NUR) Nursing -(NTR) Nutrition -(ONC) Online NC Interinstitutional -(PCS) Peace and Conflict Studies -(PHI) Philosophy -(PHY) Physics -(PSC) Political Science -(POR) Portuguese -(PSY) Psychology -(HEA) Public Health -(REL) Religious Studies -(RCO) Residential College -(RCS) Retailing and Consumer Stds -(RUS) Russian -(SSC) Social Science Course -(SWK) Social Work -(SOC) Sociology -(SPA) Spanish -(SES) Specialized Education Services -(STA) Statistics -(STR) Strong College -(SCM) Supply Chain Management -(STH) Sustainable Tourism/Hosptlty -(TED) Teacher Education -(THR) Theatre -(UNCX) UNC Exchange -(VPA) Visual and Performing Arts -(WCV) Western Civilization -(WGS) Women's and Gender Studies diff --git a/ScheduleCreator/App.java b/ScheduleCreator/App.java @@ -0,0 +1,50 @@ +package ScheduleCreator; + +/** + * This class is used to start and initialize the application + * + * @author Jamison Valentine, Ilyass Sfar, Nick Econopouly, Nathan Tolodzieki + * + * Last Updated: 2/17/2020 + */ + +import java.io.IOException; +import javafx.application.Application; +import javafx.event.ActionEvent; +import javafx.event.EventHandler; +import javafx.fxml.FXMLLoader; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.layout.StackPane; +import javafx.stage.Stage; + +public class App extends Application { + + /** + * Starts application and opens to first window/stage. + */ + @Override + public void start(Stage primaryStage) throws IOException { + + // loads GUI components from primary.xml + Parent root = FXMLLoader.load(getClass().getResource("resources/views/primary.fxml")); + + // adds components to Scene + Scene primaryScene = new Scene(root); + + // set title of application window + primaryStage.setTitle("Schedule Creator"); + + // sets primary scene + primaryStage.setScene(primaryScene); + + // shows window on screen + primaryStage.show(); + } + + public static void main(String[] args) { + launch(args); + } + +} diff --git a/ScheduleCreator/Boilerplate.java b/ScheduleCreator/Boilerplate.java @@ -0,0 +1,27 @@ +package ScheduleCreator; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class Boilerplate { + // resourceName is the name of the file in the resources directory (without a leading /) + protected static String GetResourceUrl(String resourceName) { + return "src/ScheduleCreator/resources/" + resourceName; + } + + // returns a file object + protected static File GetResourceFile(String resourceName) { + return new File(Boilerplate.GetResourceUrl(resourceName)); + } + + // returns fulltext of file + protected static String GetResourceString(String resourceName) throws IOException { + Path path = Paths.get(Boilerplate.GetResourceUrl(resourceName)); + return new String(Files.readAllBytes(path)); + } + +} + diff --git a/ScheduleCreator/DBAdapter.java b/ScheduleCreator/DBAdapter.java @@ -0,0 +1,81 @@ +package ScheduleCreator; + +import java.util.TreeSet; +import ScheduleCreator.models.Course; +import java.io.File; +import java.io.FileWriter; +import java.util.ArrayList; +import java.util.Scanner; + +/** This class is used to retrieve and modify persistent data for the application. + * + * @author Jamison Valentine, Ilyass Sfar, Nick Econopouly, Nathan Tolodzieki + * + * Last Updated: 2/21/2020 + */ + +public class DBAdapter { + + protected static Scanner input; + protected static File file; + protected static int currentLineNumber = 0; + protected static String currentLine = ""; + + /** + * Saves a selected course (abbreviation and number) and saves to database. + * @param _course + * @throws Exception + */ + public static void saveCourse(String _course) throws Exception { + file = new File("src/ScheduleCreator/resources/raw/user_selected_courses.txt"); + + //Open file to add new classes. + FileWriter output = new FileWriter(file, true); + + //Adds new selected course to new line. + output.append(_course + "\n"); + + output.close(); + } + + public static ArrayList<String> getSelectedCourses() throws Exception { + file = new File("src/ScheduleCreator/resources/raw/user_selected_courses.txt"); + Scanner input = new Scanner(file); + + //Load courses from text file to be returned as a list. + ArrayList<String> selectedCourses = new ArrayList(); + String line = ""; + while (input.hasNext()) { + line = input.nextLine(); + selectedCourses.add(line.trim()); + } + + return selectedCourses; + } + + public static void getCourses(String _abbreviation) throws Exception { + + input = new Scanner(file); + String line; + while (input.hasNext()) { + + //add whitespace to start and end of abbreviation + _abbreviation = " " + _abbreviation + " "; + _abbreviation.toUpperCase(); + + while (input.hasNext()) { + currentLine = input.nextLine(); + if (currentLine.contains(_abbreviation)) System.out.println(currentLine); + } + } + + input.close(); + } + + public void skipLine(int numberOfLines) { + for (int i = 0; i <= numberOfLines; i++) { + this.currentLine = this.input.nextLine(); + this.currentLineNumber++; + } + } +} diff --git a/ScheduleCreator/ParseData.java b/ScheduleCreator/ParseData.java @@ -0,0 +1,33 @@ +package ScheduleCreator; + +/** + * This class parses text for class name, time, and day + * Last updated: February 20, 2020 + * + * @author Sfar + */ +import java.io.IOException; +import java.util.regex.*; + +public class ParseData { + + protected static void parse(String semester) throws IOException { + //Regular expression, includes class name, time and day. + final String RegexExpression = "(\\b[A-Z]{3}\\b.\\b[0-9]{3}\\b.* [0-9]{2}\\b)|((?:(?:1[0-2]|0?[1-9]):(?:[0-5][0-9])?(?:[AaPp][Mm])).-.(?:(?:1[0-2]|0?[1-9]):(?:[0-5][0-9]) ?(?:[AaPp][Mm])))|(TR\\b|MW\\b|MWF\\b|M\\b|T\\\\b|W\\b|R\\b|F\\b)"; + + // get fulltext of the semester + String content = Boilerplate.GetResourceString(semester); + + //Give the matcher the both the text and the regex expression so it can parse. + Matcher m = Pattern.compile(RegexExpression).matcher(content); + + //loop that prints matches. + while (m.find()) { + //print all matches, group(0) means everything. + System.out.println(m.group(0)); + + //The print statement below doesn't work fully yet, but this would create a csv format of all the data + //System.out.println("{" +m.group(1) +" , "+ m.group(2) +" , "+ m.group(3) + "}"); + } + } +}+ \ No newline at end of file diff --git a/ScheduleCreator/Tests.java b/ScheduleCreator/Tests.java @@ -0,0 +1,19 @@ +package ScheduleCreator; + +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * + * @author wrycode + */ +public class Tests { + public static void main(String[] args) { + try { + ParseData.parse("raw/spring2020"); + } catch (IOException ex) { + Logger.getLogger(Tests.class.getName()).log(Level.SEVERE, null, ex); + } + } +}+ \ No newline at end of file diff --git a/ScheduleCreator/controllers/CoursesController.java b/ScheduleCreator/controllers/CoursesController.java @@ -0,0 +1,111 @@ +package ScheduleCreator.controllers; + +import ScheduleCreator.DBAdapter; +import ScheduleCreator.Tests; +import ScheduleCreator.models.User; +import java.net.URL; +import java.util.ArrayList; +import java.util.ResourceBundle; +import java.util.logging.Level; +import java.util.logging.Logger; +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.fxml.Initializable; +import javafx.scene.Node; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.control.Label; +import javafx.scene.control.TextField; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.HBox; +import javafx.stage.Stage; + +/** This class controls interactions in the Courses View. + * + * @author Jamison Valentine, Ilyass Sfar, Nick Econopouly, Nathan Tolodzieki + * + * Last Updated: 2/21/2020 + */ + +public class CoursesController implements Initializable { + + private int rowIndex = 0; + private int colIndex = 0; + private int numberOfCourses; + private User user = new User(); + + @FXML private GridPane courses; + @FXML private TextField courseText; + + /** + * Allows user to go back to primary view. + * @param _event + * @throws Exception + */ + public void backToPrimary(ActionEvent _event) throws Exception { + + Parent root = FXMLLoader.load(getClass().getResource("/ScheduleCreator/resources/views/primary.fxml")); + Scene primaryScene = new Scene(root); + + //Get information from primary stage + Stage window = (Stage)((Node)_event.getSource()).getScene().getWindow(); + window.setScene(primaryScene); + window.show(); + } + + /** + * Gets courses from database (.txt file) loads them into the view. + * @throws Exception + */ + public void loadCourses() throws Exception { + + //load selected classes for db + ArrayList<String> selectedCourses = DBAdapter.getSelectedCourses(); + numberOfCourses = selectedCourses.size(); + + for (int i = 0; i <= selectedCourses.size() - 1; i++) { + rowIndex = i / 3; + colIndex = i % 3; + Label label = new Label(selectedCourses.get(i)); + HBox newBox = new HBox(label); + newBox.setMinHeight(100); + newBox.setMinWidth(100); + newBox.setStyle("-fx-border-color: black"); + courses.add(newBox, colIndex, rowIndex); + } + } + + public void addCourse(ActionEvent _event) throws Exception { + + String course = courseText.getText(); + User.selectCourse(course); + courseText.setText(""); + Label label = new Label(course); + + //Go to next row after every 3rd course. + rowIndex = numberOfCourses / 3; + + //Go back to first column after every 3rd course. + colIndex = numberOfCourses % 3; + + //Constucts a new box and adds it to the grid. + HBox newBox = new HBox(label); + newBox.setMinHeight(100); + newBox.setMinWidth(100); + newBox.setStyle("-fx-border-color: black"); + courses.getChildren().add(newBox); + GridPane.setRowIndex(newBox, rowIndex); + GridPane.setColumnIndex(newBox, colIndex); + numberOfCourses++; + } + + @Override + public void initialize(URL location, ResourceBundle resources) { + + try { + loadCourses(); + } + catch (Exception ex) {Logger.getLogger(Tests.class.getName()).log(Level.SEVERE, null, ex);}; + } +} diff --git a/ScheduleCreator/controllers/PrimaryController.java b/ScheduleCreator/controllers/PrimaryController.java @@ -0,0 +1,70 @@ +package ScheduleCreator.controllers; + +/** + * This class serves as the controller for the primary view + * + * @author Jamison Valentine, Ilyass Sfar, Nick Econopouly, Nathan Tolodzieki + * + * Last Updated: 2/21/2020 + */ + +import ScheduleCreator.*; +import javafx.application.Application; +import javafx.event.ActionEvent; +import javafx.event.EventHandler; +import javafx.fxml.FXMLLoader; +import javafx.fxml.FXML; +import javafx.scene.Node; +import javafx.scene.Parent; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.layout.StackPane; +import javafx.stage.Stage; +import java.net.URL; +import java.util.HashSet; +import java.util.ResourceBundle; +import javafx.fxml.Initializable; +import javafx.scene.control.Label; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.HBox; + +public class PrimaryController implements Initializable { + + public void changeToSelectClasses(ActionEvent _event) throws Exception { + + //new FXML loader and scene for new screen + Parent root = FXMLLoader.load(getClass().getResource("/ScheduleCreator/resources/views/select_courses.fxml")); + Scene classViewScene = new Scene(root); + + //Get information from primary stage + Stage window = (Stage)((Node)_event.getSource()).getScene().getWindow(); + window.setScene(classViewScene); + window.show(); + } + + public void backToPrimary(ActionEvent _event) throws Exception { + + Parent root = FXMLLoader.load(getClass().getResource("/ScheduleCreator/resources/views/primary.fxml")); + Scene primaryScene = new Scene(root); + + //Get information from primary stage + Stage window = (Stage)((Node)_event.getSource()).getScene().getWindow(); + window.setScene(primaryScene); + window.show(); + } + + public void changeToRegistrationScreen(ActionEvent _event) throws Exception { + + Parent root = FXMLLoader.load(getClass().getResource("/ScheduleCreator/resources/views/registration_screen.fxml")); + Scene scene = new Scene(root); + + Stage stage = (Stage)((Node)_event.getSource()).getScene().getWindow(); + stage.setScene(scene); + stage.show(); + } + + @Override + public void initialize(URL url, ResourceBundle rb) { + + } +} diff --git a/src/ScheduleCreator/models/Course.java b/ScheduleCreator/models/Course.java diff --git a/src/ScheduleCreator/models/Schedule.java b/ScheduleCreator/models/Schedule.java diff --git a/src/ScheduleCreator/models/Section.java b/ScheduleCreator/models/Section.java diff --git a/ScheduleCreator/models/User.java b/ScheduleCreator/models/User.java @@ -0,0 +1,34 @@ +package ScheduleCreator.models; + +/** + * The class stores user information and class selections. + * + * @author Jamison Valentine, Ilyass Sfar, Nick Econopouly, Nathan Tolodzieki + * + * Last Updated: 2/17/2020 + */ + +import ScheduleCreator.DBAdapter; +import java.util.ArrayList; + +public class User { + + protected String advisor; + protected Schedule schedule; + protected int advisingCode; + protected static ArrayList<String> selectedCourses; + + public User() { + selectedCourses = new ArrayList(); + } + + public static void selectCourse(String _course) throws Exception { + selectedCourses.add(_course); + DBAdapter.saveCourse(_course); + } + + public static ArrayList<String> getCourses() { + return selectedCourses; + } + +} diff --git a/Spring 2020 Class Schedule Listing.txt b/ScheduleCreator/resources/raw/spring2020 diff --git a/Summer 2020 Class Schedule Listing.txt b/ScheduleCreator/resources/raw/summer2020 diff --git a/ScheduleCreator/resources/raw/user_selected_courses.txt b/ScheduleCreator/resources/raw/user_selected_courses.txt @@ -0,0 +1,2 @@ +CSC 100 +BIO 110 diff --git a/ScheduleCreator/resources/style.css b/ScheduleCreator/resources/style.css @@ -0,0 +1,11 @@ +.button{ + -fx-text-fill: rgb(49, 89, 23); + -fx-border-color: rgb(49, 89, 23); + -fx-border-radius: 5; + -fx-padding: 3 6 6 6; +} + +.HBox{ + -fx-border-color: blue; +} + diff --git a/ScheduleCreator/resources/views/primary.fxml b/ScheduleCreator/resources/views/primary.fxml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.Button?> +<?import javafx.scene.layout.AnchorPane?> + +<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" stylesheets="@../style.css" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ScheduleCreator.controllers.PrimaryController"> + <children> + <Button layoutX="245.0" layoutY="123.0" onAction="#changeToSelectClasses" prefHeight="37.0" prefWidth="130.0" text="Find/Select Classes" /> + <Button layoutX="245.0" layoutY="213.0" onAction="#changeToRegistrationScreen" prefHeight="37.0" prefWidth="130.0" text="myRegistration" /> + </children> +</AnchorPane> diff --git a/ScheduleCreator/resources/views/registration_screen.fxml b/ScheduleCreator/resources/views/registration_screen.fxml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.Button?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.AnchorPane?> + +<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" stylesheets="@../style.css" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ScheduleCreator.controllers.PrimaryController"> + <children> + <AnchorPane layoutX="151.0" layoutY="100.0" prefHeight="200.0" prefWidth="285.0"> + <children> + <Label layoutX="23.0" layoutY="108.0" text="Advising Code:" /> + <Label layoutX="23.0" layoutY="56.0" text="Registration Date and Time:" /> + <Label layoutX="23.0" layoutY="83.0" text="My Advisor:" /> + <Button onAction="#backToPrimary" text="Back" /> + </children> + </AnchorPane> + </children> +</AnchorPane> diff --git a/ScheduleCreator/resources/views/select_courses.fxml b/ScheduleCreator/resources/views/select_courses.fxml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.Button?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.control.ScrollPane?> +<?import javafx.scene.control.TextField?> +<?import javafx.scene.layout.AnchorPane?> +<?import javafx.scene.layout.ColumnConstraints?> +<?import javafx.scene.layout.GridPane?> +<?import javafx.scene.layout.RowConstraints?> +<?import javafx.scene.layout.StackPane?> + +<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" stylesheets="@../style.css" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ScheduleCreator.controllers.CoursesController"> + <children> + <Button layoutX="14.0" layoutY="22.0" onAction="#backToPrimary" text="Back" /> + <Button layoutX="193.0" layoutY="80.0" onAction="#addCourse" text="Add Course" /> + <StackPane layoutX="200.0" layoutY="131.0" prefHeight="150.0" prefWidth="200.0" /> + <AnchorPane layoutX="386.0" layoutY="16.0" prefHeight="368.0" prefWidth="200.0" stylesheets="@../style.css"> + <children> + <Label layoutX="52.0" layoutY="19.0" text="Find Courses: " /> + <TextField layoutX="26.0" layoutY="45.0" /> + </children> + </AnchorPane> + <ScrollPane layoutX="34.0" layoutY="124.0" maxHeight="1000.0" prefViewportHeight="252.0" prefViewportWidth="315.0"> + <content> + <GridPane fx:id="courses" hgap="5.0" layoutX="34.0" layoutY="124.0" prefHeight="237.0" prefWidth="300.0" vgap="5.0"> + <columnConstraints> + <ColumnConstraints /> + </columnConstraints> + <rowConstraints> + <RowConstraints /> + <RowConstraints /> + </rowConstraints> + <children> + + </children></GridPane> + </content> + </ScrollPane> + <TextField fx:id="courseText" layoutX="35.0" layoutY="81.0" /> + </children> +</AnchorPane> diff --git a/TestFile.txt b/TestFile.txt @@ -1,916 +0,0 @@ -Sections Found -Introduction to Computer Programming for Non-Majors - 12935 - CSC 120 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 9:30 am - 10:45 am R Petty Building 222 Jan 13, 2020 - Apr 29, 2020 Lecture Christine Marie Kikuchi (P) -Class 9:30 am - 10:45 am T Petty Building 227 Jan 14, 2020 - Apr 28, 2020 Lecture Christine Marie Kikuchi (P) - - -Introduction to Computer Science - 12949 - CSC 130 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture and lab Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 10:00 am - 11:50 am M School of Education Building 120 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Chandana Ariyawansa (P) -Class 10:00 am - 11:50 am W Petty Building 222 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Chandana Ariyawansa (P) - - -Introduction to Computer Science - 12975 - CSC 130 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture and lab Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 10:00 am - 11:50 am M School of Education Building 120 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Chandana Ariyawansa (P) -Class 1:00 pm - 2:50 pm W Petty Building 222 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Chandana Ariyawansa (P) - - -Introduction to Computer Science - 12979 - CSC 130 - 03 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture and lab Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 10:00 am - 11:50 am M School of Education Building 120 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Chandana Ariyawansa (P) -Class 3:30 pm - 5:20 pm W Petty Building 222 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Chandana Ariyawansa (P) - - -Introduction to Computer Science - 15097 - CSC 130 - 04 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture and lab Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 10:00 am - 11:50 am M School of Education Building 120 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Chandana Ariyawansa (P) -Class 8:00 am - 9:50 am W Petty Building 222 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Chandana Ariyawansa (P) - - -Elementary Data Structures and Algorithms - 12991 - CSC 230 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 9:30 am - 10:45 am TR Patricia A Sullivan Science 233 Jan 13, 2020 - Apr 29, 2020 Lecture Mohammad Faridul Siddiqui (P) - - -Elementary Data Structures and Algorithms - 12996 - CSC 230 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 3:30 pm - 4:45 pm MW Petty Building 227 Jan 13, 2020 - Apr 29, 2020 Lecture Spencer Jaehoon Lee (P) - - -Elementary Data Structures and Algorithms - 13001 - CSC 230 - 03 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 5:30 pm - 6:45 pm MW Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Spencer Jaehoon Lee (P) - - -Foundations of Computer Science I - 13009 - CSC 250 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Approved Online Delivery - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 2:00 pm - 3:15 pm MW Patricia A Sullivan Science 103 Jan 13, 2020 - Apr 29, 2020 Lecture Mark V. Armstrong (P) - - -Foundations of Computer Science I - 13037 - CSC 250 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Approved Online Delivery - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 3:30 pm - 4:45 pm MW Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Mark V. Armstrong (P) - - -Computer Organization and Assembly Language - 13043 - CSC 261 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 2:00 pm - 3:15 pm TR Petty Building 227 Jan 13, 2020 - Apr 29, 2020 Lecture Mark V. Armstrong (P) - - -Computer Organization and Assembly Language - 13046 - CSC 261 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 3:30 pm - 4:45 pm TR Nursing Building, Moore 330 Jan 13, 2020 - Apr 29, 2020 Lecture Mark V. Armstrong (P) - - -Advanced Data Structures - 13048 - CSC 330 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 12:30 pm - 1:45 pm TR Eberhart Building 161 Jan 13, 2020 - Apr 29, 2020 Lecture Mohammad Faridul Siddiqui (P) - - -Advanced Data Structures - 13050 - CSC 330 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 2:00 pm - 3:15 pm MW Petty Building 227 Jan 13, 2020 - Apr 29, 2020 Lecture Mohammad Faridul Siddiqui (P) - - -Concepts of Programming Languages - 13186 - CSC 339 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 10:00 am - 10:50 am MWF Petty Building 007 Jan 13, 2020 - Apr 29, 2020 Lecture Spencer Jaehoon Lee (P) - - -Concepts of Programming Languages - 13191 - CSC 339 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 1:00 pm - 1:50 pm MWF Petty Building 007 Jan 13, 2020 - Apr 29, 2020 Lecture Spencer Jaehoon Lee (P) - - -Software Engineering - 13193 - CSC 340 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: WI - Writing Intensive - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 5:30 pm - 6:45 pm MW Eberhart Building 554 Jan 13, 2020 - Apr 29, 2020 Lecture Richard I Quigley (P) - - -Software Engineering - 13198 - CSC 340 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: WI - Writing Intensive - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 5:30 pm - 6:45 pm TR Petty Building 007 Jan 13, 2020 - Apr 29, 2020 Lecture Richard I Quigley (P) - - -Foundations of Computer Science II - 13201 - CSC 350 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Approved Online Delivery - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 11:00 am - 12:15 pm TR Petty Building 227 Jan 13, 2020 - Apr 29, 2020 Lecture Sami Khuri (P) - - -Foundations of Computer Science II - 13206 - CSC 350 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Approved Online Delivery - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 12:30 pm - 1:45 pm TR Petty Building 227 Jan 13, 2020 - Apr 29, 2020 Lecture Sami Khuri (P) - - -Big Data and Machine Learning - 13358 - CSC 410 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 9:30 am - 10:45 am TR Petty Building 213 Jan 13, 2020 - Apr 29, 2020 Lecture Sami Khuri (P) - - -Digital Image Processing - 13369 - CSC 416 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 11:00 am - 12:15 pm MW Petty Building 227 Jan 13, 2020 - Apr 29, 2020 Lecture Min Jeong Kim (P) - - -Bioinformatics - 13380 - CSC 425 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Written Permission Required - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 12:30 pm - 1:45 pm TR Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Prashanti Manda (P) - - -Numerical Analysis and Computing - 14374 - CSC 427 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 9:00 am - 9:50 am MWF Petty Building 007 Jan 13, 2020 - Apr 29, 2020 Lecture Thomas L. Lewis (P) - - -Artificial Intelligence - 13388 - CSC 429 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 3:30 pm - 4:45 pm TR Petty Building 313 Jan 13, 2020 - Apr 29, 2020 Lecture Nancy L. Green (P) - - -Theory of Computation - 13589 - CSC 452 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 3:30 pm - 4:45 pm MW Nursing Building, Moore 329 Jan 13, 2020 - Apr 29, 2020 Lecture Stephen R. Tate (P) - - -Algorithm Analysis and Design - 13601 - CSC 454 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 5:30 pm - 6:45 pm MW Petty Building 227 Jan 13, 2020 - Apr 29, 2020 Lecture Stephen R. Tate (P) - - -Principles of Computer Architecture - 13606 - CSC 461 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 8:00 am - 9:15 am TR Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Edmundson David Effort (P) - - -Principles of Operating Systems - 13622 - CSC 462 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture and lab Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 5:30 pm - 6:45 pm TR Petty Building 313 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Jing Deng (P) - - -Principles of Database Systems - 13221 - CSC 471 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 12:30 pm - 1:45 pm MW Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Regis Augusto Poli Kopper (P) - - -Senior Capstone - 13313 - CSC 490 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Written Permission Required, SI - Speaking Intensive, WI - Writing Intensive - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 3:30 pm - 4:45 pm MW Petty Building 217 Jan 13, 2020 - Apr 29, 2020 Lecture Min Jeong Kim (P) - - -Senior Capstone - 13317 - CSC 490 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Written Permission Required, SI - Speaking Intensive, WI - Writing Intensive - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 2:00 pm - 3:15 pm TR Petty Building 217 Jan 13, 2020 - Apr 29, 2020 Lecture Mohammad Faridul Siddiqui (P) - - -Directed Study in Computer Science - 14958 - CSC 492 - 11 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - - Greensboro Main Campus - Individual Study Schedule Type - Face to Face Instructional Method - 1.000 TO 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class TBA TBA Jan 13, 2020 - Apr 29, 2020 Individual Study Sami Khuri (P) - - -Data Mining - 13321 - CSC 495 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Written Permission Required - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 2:00 pm - 3:15 pm TR Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Prashanti Manda (P) - - -Artificial Intelligence Ethics - 13333 - CSC 495 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Written Permission Required - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 11:00 am - 12:15 pm TR Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Nancy L. Green (P) - - -Virtual Reality - 13345 - CSC 495 - 03 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Undergraduate - Attributes: Written Permission Required - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 2:00 pm - 3:15 pm MW Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Regis Augusto Poli Kopper (P) - - -Big Data and Machine Learning - 13364 - CSC 610 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Crse has Prereq or Coreq reqrm - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 9:30 am - 10:45 am TR Petty Building 213 Jan 13, 2020 - Apr 29, 2020 Lecture Sami Khuri (P) - - -Digital Image Processing - 13373 - CSC 616 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Crse has Prereq or Coreq reqrm - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 11:00 am - 12:15 pm MW Petty Building 227 Jan 13, 2020 - Apr 29, 2020 Lecture Min Jeong Kim (P) - - -Bioinformatics - 13384 - CSC 625 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Written Permission Required - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 12:30 pm - 1:45 pm TR Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Prashanti Manda (P) - - -Artificial Intelligence - 13390 - CSC 629 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Crse has Prereq or Coreq reqrm - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 3:30 pm - 4:45 pm TR Petty Building 313 Jan 13, 2020 - Apr 29, 2020 Lecture Nancy L. Green (P) - - -Theory of Computation - 13593 - CSC 652 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Crse has Prereq or Coreq reqrm - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 3:30 pm - 4:45 pm MW Nursing Building, Moore 329 Jan 13, 2020 - Apr 29, 2020 Lecture Stephen R. Tate (P) - - -Algorithm Analysis and Design - 13608 - CSC 654 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Crse has Prereq or Coreq reqrm - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 5:30 pm - 6:45 pm MW Petty Building 227 Jan 13, 2020 - Apr 29, 2020 Lecture Stephen R. Tate (P) - - -Principles of Computer Architecture - 13614 - CSC 661 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Crse has Prereq or Coreq reqrm - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 8:00 am - 9:15 am TR Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Edmundson David Effort (P) - - -Principles of Operating Systems - 13632 - CSC 662 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Crse has Prereq or Coreq reqrm - - Greensboro Main Campus - Lecture and lab Schedule Type - Face to Face Instructional Method - 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 5:30 pm - 6:45 pm TR Petty Building 313 Jan 13, 2020 - Apr 29, 2020 Lecture and lab Jing Deng (P) - - -Virtual Reality - 13352 - CSC 693 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Written Permission Required, Variable hrs see Rgstrtn Guide - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 TO 6.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 2:00 pm - 3:15 pm MW Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Regis Augusto Poli Kopper (P) - - -Artificial Intelligence Ethics - 13340 - CSC 693 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Written Permission Required, Variable hrs see Rgstrtn Guide - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 TO 6.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 11:00 am - 12:15 pm TR Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Nancy L. Green (P) - - -Data Mining - 13329 - CSC 693 - 03 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Written Permission Required, Variable hrs see Rgstrtn Guide - - Greensboro Main Campus - Lecture Schedule Type - Face to Face Instructional Method - 3.000 TO 6.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class 2:00 pm - 3:15 pm TR Petty Building 223 Jan 13, 2020 - Apr 29, 2020 Lecture Prashanti Manda (P) - - -Directed Study in Computer Science - 14653 - CSC 694 - 08 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Variable hrs see Rgstrtn Guide, GRS Approval Required - - Greensboro Main Campus - Individual Study Schedule Type - Face to Face Instructional Method - 1.000 TO 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class TBA TBA Jan 13, 2020 - Apr 29, 2020 Individual Study Fereidoon Sadri (P) - - -Project in Computer Science - 14761 - CSC 698 - 02 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Written Permission Required, Variable hrs see Rgstrtn Guide - - Greensboro Main Campus - Individual Study Schedule Type - Face to Face Instructional Method - 3.000 TO 6.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class TBA TBA Jan 13, 2020 - Apr 29, 2020 Individual Study Lixin Fu (P) - - -Project in Computer Science - 14974 - CSC 698 - 05 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Written Permission Required, Variable hrs see Rgstrtn Guide - - Greensboro Main Campus - Individual Study Schedule Type - Face to Face Instructional Method - 3.000 TO 6.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class TBA TBA Jan 13, 2020 - Apr 29, 2020 Individual Study Min Jeong Kim (P) - - -Project in Computer Science - 15271 - CSC 698 - 06 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Written Permission Required, Variable hrs see Rgstrtn Guide - - Greensboro Main Campus - Individual Study Schedule Type - Face to Face Instructional Method - 3.000 TO 6.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class TBA TBA Jan 13, 2020 - Apr 29, 2020 Individual Study Prashanti Manda (P) - - -Project in Computer Science - 14732 - CSC 698 - 07 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Written Permission Required, Variable hrs see Rgstrtn Guide - - Greensboro Main Campus - Individual Study Schedule Type - Face to Face Instructional Method - 3.000 TO 6.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class TBA TBA Jan 13, 2020 - Apr 29, 2020 Individual Study Somya Darsan Mohanty (P) - - -Project in Computer Science - 14729 - CSC 698 - 09 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Written Permission Required, Variable hrs see Rgstrtn Guide - - Greensboro Main Campus - Individual Study Schedule Type - Face to Face Instructional Method - 3.000 TO 6.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class TBA TBA Jan 13, 2020 - Apr 29, 2020 Individual Study Shanmugathasan Suthaharan (P) - - -Thesis - 15286 - CSC 699 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Variable hrs see Rgstrtn Guide - - Greensboro Main Campus - Dissertation or Thesis Schedule Type - Face-to-face Instructional Method - 1.000 TO 6.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class TBA TBA Jan 13, 2020 - Apr 29, 2020 Dissertation or Thesis Jing Deng (P) - - -Research Extension - 15319 - CSC 803 - 01 -Associated Term: Spring 2020 - Registration Dates: Oct 28, 2019 to Jan 17, 2020 - Levels: Graduate - Attributes: Variable hrs see Rgstrtn Guide, SDM(CC1) - Masters - - Greensboro Main Campus - Individual Study Schedule Type - Face to Face Instructional Method - 1.000 TO 3.000 Credits - View Catalog Entry - -Scheduled Meeting Times -Type Time Days Where Date Range Schedule Type Instructors -Class TBA TBA Jan 13, 2020 - Apr 29, 2020 Individual Study Jing Deng (P) - diff --git a/src/ScheduleCreator/App.java b/src/ScheduleCreator/App.java @@ -1,50 +0,0 @@ -package ScheduleCreator; - -/** - * This class is used to start and initialize the application - * - * @author Jamison Valentine, Ilyass Sfar, Nick Econopouly, Nathan Tolodzieki - * - * Last Updated: 2/17/2020 - */ - -import java.io.IOException; -import javafx.application.Application; -import javafx.event.ActionEvent; -import javafx.event.EventHandler; -import javafx.fxml.FXMLLoader; -import javafx.scene.Parent; -import javafx.scene.Scene; -import javafx.scene.control.Button; -import javafx.scene.layout.StackPane; -import javafx.stage.Stage; - -public class App extends Application { - - /** - * Starts application and opens to first window/stage. - */ - @Override - public void start(Stage primaryStage) throws IOException { - - // loads GUI components from primary.xml - Parent root = FXMLLoader.load(getClass().getResource("resources/primary.fxml")); - - // adds components to Scene - Scene primaryScene = new Scene(root); - - // set title of application window - primaryStage.setTitle("Schedule Creator"); - - // sets primary scene - primaryStage.setScene(primaryScene); - - // shows window on screen - primaryStage.show(); - } - - public static void main(String[] args) { - launch(args); - } - -} diff --git a/src/ScheduleCreator/ParseData.java b/src/ScheduleCreator/ParseData.java @@ -1,39 +0,0 @@ -package ScheduleCreator; - -/** - * This class parses through text file's using regex and outputs the results. - * Last updated: February 20, 2020 - * - * @author Sfar - */ -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.regex.*; - -public class ParseData { - - protected static void parse() throws IOException { - //Regular expression, inclues class name, time and day. - final String RegexExpression = "(\\b[A-Z]{3}\\b.\\b[0-9]{3}\\b.* [0-9]{2}\\b)|((?:(?:1[0-2]|0?[1-9]):(?:[0-5][0-9]) ?(?:[AaPp][Mm])).-.(?:(?:1[0-2]|0?[1-9]):(?:[0-5][0-9]) ?(?:[AaPp][Mm])))|(TR\\b|MW\\b|MWF\\b|M\\b|T\\\\b|W\\b|R\\b|F\\b)"; - //A example text file, that will be parsed. - final String FileName = "TestFile.txt"; - - //Take content of txt file and put it into a string to make it easier to parse. - String content = new String(Files.readAllBytes(Paths.get(FileName)), StandardCharsets.UTF_8); - - //Give the matcher the both the text file and the regex expression so it can parse. - Matcher m = Pattern.compile(RegexExpression).matcher(content); - - //loop that prints matches. - while (m.find()) { - //print all matches, group(0) means everything. - System.out.println(m.group(0)); - - //The print statment below dosent work fully yet, but this would create a csv format of all the data - //System.out.println("{" +m.group(1) +" , "+ m.group(2) +" , "+ m.group(3) + "}"); - } - - } -} diff --git a/src/ScheduleCreator/PrimaryController.java b/src/ScheduleCreator/PrimaryController.java @@ -1,65 +0,0 @@ -package ScheduleCreator; - -/** - * This class serves as the controller for the primary view - * - * @author Jamison Valentine, Ilyass Sfar, Nick Econopouly, Nathan Tolodzieki - * - * Last Updated: 2/17/2020 - */ - -import javafx.application.Application; -import javafx.event.ActionEvent; -import javafx.event.EventHandler; -import javafx.fxml.FXMLLoader; -import javafx.fxml.FXML; -import javafx.scene.Node; -import javafx.scene.Parent; -import javafx.scene.Scene; -import javafx.scene.control.Button; -import javafx.scene.layout.StackPane; -import javafx.stage.Stage; -import java.net.URL; -import java.util.ResourceBundle; -import javafx.fxml.Initializable; - -public class PrimaryController implements Initializable { - - public void changeToSelectClasses(ActionEvent _event) throws Exception { - - //new FXML loader and scene for new screen - Parent root = FXMLLoader.load(getClass().getResource("resources/select_classes.fxml")); - Scene classViewScene = new Scene(root); - - //Get information from primary stage - Stage window = (Stage)((Node)_event.getSource()).getScene().getWindow(); - window.setScene(classViewScene); - window.show(); - } - - public void backToPrimary(ActionEvent _event) throws Exception { - - Parent root = FXMLLoader.load(getClass().getResource("resources/primary.fxml")); - Scene primaryScene = new Scene(root); - - //Get information from primary stage - Stage window = (Stage)((Node)_event.getSource()).getScene().getWindow(); - window.setScene(primaryScene); - window.show(); - } - - public void changeToRegistrationScreen(ActionEvent _event) throws Exception { - - Parent root = FXMLLoader.load(getClass().getResource("resources/registration_screen.fxml")); - Scene scene = new Scene(root); - - Stage stage = (Stage)((Node)_event.getSource()).getScene().getWindow(); - stage.setScene(scene); - stage.show(); - } - - @Override - public void initialize(URL url, ResourceBundle rb) { - - } -} diff --git a/src/ScheduleCreator/TestFeature.java b/src/ScheduleCreator/TestFeature.java @@ -1,25 +0,0 @@ -import java.util.Scanner; -import java.io.*; - -public class TestFeature { - - - public static void main(String[] args) throws IOException { - - Scanner user = new Scanner(System.in); - String abr = user.next(); - - Scanner input = new Scanner(new File("Spring 2020 Class Schedule Listing.txt")); - - String line; - int numClasses = 0; - while (input.hasNextLine()) { - line = input.nextLine(); - if (line.contains(abr)) { - numClasses++; - } - } - System.out.println(numClasses); - } - -} diff --git a/src/ScheduleCreator/Tests.java b/src/ScheduleCreator/Tests.java @@ -1,22 +0,0 @@ -package ScheduleCreator; - -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -/** - * - * @author wrycode - */ -public class Tests { - public static void main(String[] args) { - try { - ParseData.parse(); - } catch (IOException ex) { - Logger.getLogger(Tests.class.getName()).log(Level.SEVERE, null, ex); - } - - } - - -} diff --git a/src/ScheduleCreator/models/User.java b/src/ScheduleCreator/models/User.java @@ -1,24 +0,0 @@ -package ScheduleCreator.models; - -/** - * The class stores user information and class selections. - * - * @author Jamison Valentine, Ilyass Sfar, Nick Econopouly, Nathan Tolodzieki - * - * Last Updated: 2/17/2020 - */ - -public class User { - - protected String advisor; - protected Schedule schedule; - protected int advisingCode; - - public User() { - - } - - public void selectCourse(Course _course) { - - } -} diff --git a/src/ScheduleCreator/resources/primary.fxml b/src/ScheduleCreator/resources/primary.fxml @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.Button?> -<?import javafx.scene.layout.AnchorPane?> - -<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" stylesheets="@style.css" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ScheduleCreator.PrimaryController"> - <children> - <Button layoutX="245.0" layoutY="123.0" onAction="#changeToSelectClasses" prefHeight="37.0" prefWidth="130.0" text="Browse Classes" /> - <Button layoutX="245.0" layoutY="213.0" onAction="#changeToRegistrationScreen" prefHeight="37.0" prefWidth="130.0" text="myRegistration" /> - </children> -</AnchorPane> diff --git a/src/ScheduleCreator/resources/registration_screen.fxml b/src/ScheduleCreator/resources/registration_screen.fxml @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.Button?> -<?import javafx.scene.control.Label?> -<?import javafx.scene.layout.AnchorPane?> - -<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" stylesheets="@style.css" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ScheduleCreator.PrimaryController"> - <children> - <AnchorPane layoutX="151.0" layoutY="100.0" prefHeight="200.0" prefWidth="285.0"> - <children> - <Label layoutX="23.0" layoutY="108.0" text="Advising Code:" /> - <Label layoutX="23.0" layoutY="56.0" text="Registration Date and Time:" /> - <Label layoutX="23.0" layoutY="83.0" text="My Advisor:" /> - <Button onAction="#backToPrimary" text="Back" /> - </children> - </AnchorPane> - </children> -</AnchorPane> diff --git a/src/ScheduleCreator/resources/select_classes.fxml b/src/ScheduleCreator/resources/select_classes.fxml @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.control.Button?> -<?import javafx.scene.control.ChoiceBox?> -<?import javafx.scene.control.ListView?> -<?import javafx.scene.layout.AnchorPane?> -<?import javafx.scene.layout.StackPane?> - -<AnchorPane id="AnchorPane" prefHeight="400.0" prefWidth="600.0" stylesheets="@style.css" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ScheduleCreator.PrimaryController"> - <children> - <Button onAction="#backToPrimary" text="Back" /> - <StackPane layoutX="200.0" layoutY="131.0" prefHeight="150.0" prefWidth="200.0"> - <children> - <ChoiceBox prefWidth="150.0" /> - <ListView /> - - </children> - </StackPane> - </children> -</AnchorPane> diff --git a/src/ScheduleCreator/resources/style.css b/src/ScheduleCreator/resources/style.css @@ -1,6 +0,0 @@ -.button{ - -fx-text-fill: rgb(49, 89, 23); - -fx-border-color: rgb(49, 89, 23); - -fx-border-radius: 5; - -fx-padding: 3 6 6 6; -}