├── .prettierignore ├── src ├── components │ ├── Logo │ │ ├── index.js │ │ ├── Logo.js │ │ └── Logo.css │ ├── Courses │ │ ├── index.js │ │ ├── Courses.css │ │ └── Courses.js │ ├── Pagination │ │ ├── index.js │ │ ├── Pagination.css │ │ └── Pagination.js │ ├── Schedule │ │ ├── Cell │ │ │ ├── index.js │ │ │ └── Cell.js │ │ ├── index.js │ │ ├── Schedule.css │ │ └── Schedule.js │ ├── CourseSelector │ │ ├── index.js │ │ └── CourseSelector.js │ ├── SemesterSelector │ │ ├── index.js │ │ └── SemesterSelector.js │ └── InstructorSelector │ │ ├── index.js │ │ ├── InstructorSelector.css │ │ └── InstructorSelector.js ├── constants │ ├── days.js │ ├── colors.js │ ├── hours.js │ └── theme.js ├── guide │ ├── index.js │ └── steps.js ├── index.js ├── schedule.js ├── App.css ├── serviceWorker.js └── App.js ├── .firebaserc ├── public ├── robots.txt ├── icons │ ├── cup.png │ ├── bilkent-128x128.png │ ├── bilkent-144x144.png │ ├── bilkent-152x152.png │ ├── bilkent-192x192.png │ ├── bilkent-384x384.png │ ├── bilkent-512x512.png │ ├── bilkent-72x72.png │ └── bilkent-96x96.png ├── manifest.json ├── index.html └── data │ ├── departments.json │ ├── semesters.json │ └── offerings │ ├── 20013.json │ ├── 20003.json │ ├── 20023.json │ ├── 20223.json │ ├── 20243.json │ └── 20213.json ├── scraper ├── index.js ├── main.js └── services │ ├── semester.service.js │ └── bilkent.service.js ├── .huskyrc ├── .lintstagedrc ├── firebase.json ├── .github ├── workflows │ ├── lint.yml │ ├── deploy.hosting.yml │ └── fetch-offerings.yml └── FUNDING.yml ├── .eslintrc ├── LICENSE ├── README.md ├── package.json └── .gitignore /.prettierignore: -------------------------------------------------------------------------------- 1 | public/data 2 | build -------------------------------------------------------------------------------- /src/components/Logo/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./Logo"; 2 | -------------------------------------------------------------------------------- /src/components/Courses/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./Courses"; 2 | -------------------------------------------------------------------------------- /src/components/Pagination/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./Pagination"; 2 | -------------------------------------------------------------------------------- /src/components/Schedule/Cell/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./Cell"; 2 | -------------------------------------------------------------------------------- /src/components/Schedule/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./Schedule"; 2 | -------------------------------------------------------------------------------- /src/components/CourseSelector/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./CourseSelector"; 2 | -------------------------------------------------------------------------------- /.firebaserc: -------------------------------------------------------------------------------- 1 | { 2 | "projects": { 3 | "default": "bilkent-scheduler" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /src/components/SemesterSelector/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./SemesterSelector"; 2 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /scraper/index.js: -------------------------------------------------------------------------------- 1 | require = require("esm")(module); 2 | module.exports = require("./main"); 3 | -------------------------------------------------------------------------------- /src/components/InstructorSelector/index.js: -------------------------------------------------------------------------------- 1 | export { default } from "./InstructorSelector"; 2 | -------------------------------------------------------------------------------- /public/icons/cup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/furkankose/bilkent-scheduler/HEAD/public/icons/cup.png -------------------------------------------------------------------------------- /public/icons/bilkent-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/furkankose/bilkent-scheduler/HEAD/public/icons/bilkent-128x128.png -------------------------------------------------------------------------------- /public/icons/bilkent-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/furkankose/bilkent-scheduler/HEAD/public/icons/bilkent-144x144.png -------------------------------------------------------------------------------- /public/icons/bilkent-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/furkankose/bilkent-scheduler/HEAD/public/icons/bilkent-152x152.png -------------------------------------------------------------------------------- /public/icons/bilkent-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/furkankose/bilkent-scheduler/HEAD/public/icons/bilkent-192x192.png -------------------------------------------------------------------------------- /public/icons/bilkent-384x384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/furkankose/bilkent-scheduler/HEAD/public/icons/bilkent-384x384.png -------------------------------------------------------------------------------- /public/icons/bilkent-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/furkankose/bilkent-scheduler/HEAD/public/icons/bilkent-512x512.png -------------------------------------------------------------------------------- /public/icons/bilkent-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/furkankose/bilkent-scheduler/HEAD/public/icons/bilkent-72x72.png -------------------------------------------------------------------------------- /public/icons/bilkent-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/furkankose/bilkent-scheduler/HEAD/public/icons/bilkent-96x96.png -------------------------------------------------------------------------------- /.huskyrc: -------------------------------------------------------------------------------- 1 | { 2 | "hooks": { 3 | "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", 4 | "pre-commit": "lint-staged" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/components/InstructorSelector/InstructorSelector.css: -------------------------------------------------------------------------------- 1 | #instructor-selector { 2 | width: 100%; 3 | margin-bottom: 20px; 4 | } 5 | -------------------------------------------------------------------------------- /.lintstagedrc: -------------------------------------------------------------------------------- 1 | { 2 | "*.+(js|jsx|json|css|md)": ["prettier --write", "git add"], 3 | "*.+(js|jsx)": ["eslint --fix", "git add"] 4 | } 5 | -------------------------------------------------------------------------------- /src/constants/days.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | "MONDAY", 3 | "TUESDAY", 4 | "WEDNESDAY", 5 | "THURSDAY", 6 | "FRIDAY", 7 | "SATURDAY", 8 | "SUNDAY", 9 | ]; 10 | -------------------------------------------------------------------------------- /src/constants/colors.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | "#BA68C8", 3 | "#7986CB", 4 | "#4FC3F7", 5 | "#4DB6AC", 6 | "#AED581", 7 | "#FFD54F", 8 | "#FF8A65", 9 | "#A1887F", 10 | "#90A4AE", 11 | ]; 12 | -------------------------------------------------------------------------------- /src/constants/hours.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | "08:30", 3 | "09:30", 4 | "10:30", 5 | "11:30", 6 | "12:30", 7 | "13:30", 8 | "14:30", 9 | "15:30", 10 | "16:30", 11 | "17:30", 12 | "18:30", 13 | "19:30", 14 | "20:30", 15 | "21:30", 16 | ]; 17 | -------------------------------------------------------------------------------- /firebase.json: -------------------------------------------------------------------------------- 1 | { 2 | "hosting": { 3 | "public": "build", 4 | "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], 5 | "rewrites": [ 6 | { 7 | "source": "**", 8 | "destination": "/index.html" 9 | } 10 | ] 11 | }, 12 | "functions": { 13 | "source": "./functions" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/constants/theme.js: -------------------------------------------------------------------------------- 1 | export default { 2 | typography: { 3 | fontFamily: "Montserrat", 4 | fontSize: 12, 5 | }, 6 | shape: { 7 | borderRadius: 0, 8 | }, 9 | overrides: { 10 | MuiChip: { 11 | root: { 12 | borderRadius: 0, 13 | }, 14 | }, 15 | MuiInputBase: { 16 | root: { 17 | lineHeight: 0.8, 18 | }, 19 | }, 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: Lint 2 | 3 | on: pull_request 4 | 5 | jobs: 6 | lint: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - name: Checkout 10 | uses: actions/checkout@v3 11 | - name: "Use Node.js" 12 | uses: actions/setup-node@v3 13 | with: 14 | node-version: 16 15 | - name: Install 16 | run: yarn install 17 | - name: Run ESLint 18 | run: yarn lint 19 | -------------------------------------------------------------------------------- /src/components/Logo/Logo.js: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | 3 | import "./Logo.css"; 4 | 5 | const Logo = () => ( 6 |
7 | 13 | 14 | BILKENT 15 |
16 | SCHEDULER 17 |
18 |
19 | ); 20 | 21 | export default memo(Logo); 22 | -------------------------------------------------------------------------------- /src/components/Logo/Logo.css: -------------------------------------------------------------------------------- 1 | #bilkent-scheduler { 2 | display: inline-flex; 3 | align-items: center; 4 | height: 40px; 5 | opacity: 0.5; 6 | } 7 | 8 | #bilkent-scheduler:hover { 9 | opacity: 0.4; 10 | } 11 | 12 | #scheduler-title { 13 | font-size: 14px; 14 | font-weight: bold; 15 | line-height: 1.2; 16 | color: white; 17 | margin-left: 12px; 18 | } 19 | 20 | #bilkent-logo { 21 | width: 36px; 22 | height: auto; 23 | display: block; 24 | padding: 1px; 25 | background: white; 26 | border-radius: 50%; 27 | } 28 | -------------------------------------------------------------------------------- /src/guide/index.js: -------------------------------------------------------------------------------- 1 | import introJs from "intro.js"; 2 | import initUserGuideSteps from "./steps"; 3 | 4 | import "intro.js/introjs.css"; 5 | 6 | const display = (onExit) => { 7 | const intro = introJs(); 8 | const steps = initUserGuideSteps(); 9 | 10 | intro.setOptions({ 11 | disableInteraction: true, 12 | showProgress: true, 13 | hidePrev: true, 14 | hideNext: true, 15 | keyboardNavigation: true, 16 | steps, 17 | }); 18 | 19 | intro.start(); 20 | 21 | intro.onexit(onExit); 22 | }; 23 | 24 | export default display; 25 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom"; 3 | import { MuiThemeProvider, createMuiTheme } from "@material-ui/core/styles"; 4 | 5 | import App from "./App"; 6 | 7 | import theme from "./constants/theme"; 8 | import * as serviceWorker from "./serviceWorker"; 9 | 10 | const MuiTheme = createMuiTheme(theme); 11 | 12 | ReactDOM.render( 13 | 14 | 15 | , 16 | document.getElementById("root") 17 | ); 18 | 19 | // If you want your app to work offline and load faster, you can change 20 | // unregister() to register() below. Note this comes with some pitfalls. 21 | // Learn more about service workers: https://bit.ly/CRA-PWA 22 | serviceWorker.unregister(); 23 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["react-app", "airbnb", "prettier", "prettier/react"], 3 | "plugins": ["prettier"], 4 | "ignorePatterns": ["**/build/*", "**/node_modules/*"], 5 | "rules": { 6 | "prettier/prettier": ["error"], 7 | "no-console": "off", 8 | "no-await-in-loop": "off", 9 | "import/prefer-default-export": "off", 10 | "no-global-assign": "off", 11 | "import/no-extraneous-dependencies": "off", 12 | "no-restricted-syntax": "off", 13 | "jsx-a11y/click-events-have-key-events": "off", 14 | "jsx-a11y/no-static-element-interactions": "off", 15 | "jsx-a11y/no-noninteractive-element-interactions": "off", 16 | "react/jsx-props-no-spreading": "off", 17 | "react/jsx-filename-extension": [ 18 | 1, 19 | { 20 | "extensions": [".js", ".jsx"] 21 | } 22 | ] 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.github/workflows/deploy.hosting.yml: -------------------------------------------------------------------------------- 1 | name: Deploy Hosting 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | paths-ignore: 8 | - "scraper/**" 9 | 10 | jobs: 11 | release: 12 | runs-on: ubuntu-latest 13 | 14 | env: 15 | REACT_APP_GA_TRACKING_ID: "${{ secrets.REACT_APP_GA_TRACKING_ID }}" 16 | 17 | steps: 18 | - name: Checkout 19 | uses: actions/checkout@v3 20 | - name: "Use Node.js" 21 | uses: actions/setup-node@v3 22 | with: 23 | node-version: 16 24 | - name: Install 25 | run: yarn install 26 | - name: Build 27 | run: yarn build 28 | - name: Install Firebase 29 | run: sudo yarn global add firebase-tools@12.9.1 30 | - name: Deploy 31 | run: firebase deploy --only hosting --token ${{ secrets.FIREBASE_TOKEN }} 32 | -------------------------------------------------------------------------------- /src/components/Courses/Courses.css: -------------------------------------------------------------------------------- 1 | #courses { 2 | width: 100%; 3 | table-layout: fixed; 4 | border-spacing: 0; 5 | } 6 | 7 | @media only screen and (max-width: 599px) { 8 | #courses { 9 | margin-bottom: 32px; 10 | } 11 | } 12 | 13 | #courses tr { 14 | height: 47px; 15 | } 16 | 17 | #courses tr td { 18 | font-size: 13px; 19 | border-bottom: #d9d9d9 solid thin; 20 | position: relative; 21 | } 22 | 23 | #courses tbody tr:last-child td { 24 | border: none; 25 | } 26 | 27 | #courses tr td:nth-child(1) { 28 | width: 30px; 29 | text-align: center; 30 | padding-right: 5px; 31 | } 32 | 33 | .instructor small { 34 | width: 100%; 35 | min-width: 0; 36 | display: block; 37 | white-space: nowrap; 38 | overflow: hidden; 39 | text-overflow: ellipsis; 40 | font-size: 80%; 41 | margin-top: 3px; 42 | opacity: 0.6; 43 | } 44 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [furkankose] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry 13 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 14 | -------------------------------------------------------------------------------- /.github/workflows/fetch-offerings.yml: -------------------------------------------------------------------------------- 1 | name: Fetch Offerings 2 | on: 3 | schedule: 4 | - cron: "0 2 * * *" 5 | workflow_dispatch: 6 | 7 | jobs: 8 | fetch-offerings: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v4 12 | with: 13 | ref: ${{ github.head_ref }} 14 | ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} 15 | fetch-depth: 0 16 | - name: Set up Node.js 17 | uses: actions/setup-node@v4 18 | with: 19 | node-version: "18" 20 | - name: Install Dependencies 21 | run: yarn install 22 | - name: Run Build Script 23 | run: yarn fetch-offerings 24 | - name: Commit results 25 | run: | 26 | git config user.email "41898282+github-actions[bot]@users.noreply.github.com" 27 | git config user.name "github-actions[bot]" 28 | 29 | git add --all 30 | git commit --allow-empty -m "chore: sync application data" 31 | git push origin main 32 | -------------------------------------------------------------------------------- /src/components/Schedule/Cell/Cell.js: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import PropTypes from "prop-types"; 3 | import classnames from "classnames"; 4 | 5 | const Cell = ({ 6 | colorStyle, 7 | courseCode, 8 | classroom, 9 | isEmpty, 10 | isExcluded, 11 | onClick, 12 | }) => { 13 | const cellClasses = classnames({ 14 | selected: !isEmpty, 15 | locked: isExcluded, 16 | }); 17 | 18 | return ( 19 | 20 | {!isEmpty && ( 21 | <> 22 | {courseCode} 23 |
24 | {classroom} 25 | 26 | )} 27 | 28 | ); 29 | }; 30 | 31 | Cell.defaultProps = { 32 | courseCode: null, 33 | classroom: null, 34 | isExcluded: false, 35 | }; 36 | 37 | Cell.propTypes = { 38 | colorStyle: PropTypes.shape({}).isRequired, 39 | courseCode: PropTypes.string, 40 | classroom: PropTypes.string, 41 | isEmpty: PropTypes.bool.isRequired, 42 | isExcluded: PropTypes.bool, 43 | onClick: PropTypes.func.isRequired, 44 | }; 45 | 46 | export default memo(Cell); 47 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Furkan Köse 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /src/components/Pagination/Pagination.css: -------------------------------------------------------------------------------- 1 | #pagination { 2 | display: flex; 3 | align-items: center; 4 | justify-content: center; 5 | width: fit-content; 6 | height: 50px; 7 | margin: 30px auto 0 auto; 8 | color: #ffffff; 9 | transition: 0.7s ease all; 10 | } 11 | 12 | #pagination.hidden { 13 | pointer-events: none; 14 | opacity: 0; 15 | height: 0; 16 | margin-top: 0; 17 | } 18 | 19 | @media only screen and (max-width: 599px) { 20 | #pagination { 21 | order: 1; 22 | } 23 | 24 | #pagination:not(.hidden) { 25 | margin: 10px auto; 26 | } 27 | } 28 | 29 | #prev, 30 | #next { 31 | cursor: pointer; 32 | font-size: 64px; 33 | opacity: 0.8; 34 | } 35 | 36 | #prev:hover, 37 | #next:hover { 38 | opacity: 1; 39 | } 40 | 41 | #prev.disabled, 42 | #next.disabled { 43 | pointer-events: none; 44 | opacity: 0.05; 45 | } 46 | 47 | #pages { 48 | display: flex; 49 | flex-direction: column; 50 | align-items: center; 51 | position: relative; 52 | } 53 | 54 | #title { 55 | font-size: 12px; 56 | position: absolute; 57 | top: -15px; 58 | opacity: 0.4; 59 | } 60 | 61 | #page-numbers { 62 | font-size: 24px; 63 | margin: 0 24px; 64 | } 65 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Bilkent Scheduler", 3 | "name": "Bilkent Scheduler", 4 | "icons": [ 5 | { 6 | "src": "icons/bilkent-72x72.png", 7 | "sizes": "72x72", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "icons/bilkent-96x96.png", 12 | "sizes": "96x96", 13 | "type": "image/png" 14 | }, 15 | { 16 | "src": "icons/bilkent-128x128.png", 17 | "sizes": "128x128", 18 | "type": "image/png" 19 | }, 20 | { 21 | "src": "icons/bilkent-144x144.png", 22 | "sizes": "144x144", 23 | "type": "image/png" 24 | }, 25 | { 26 | "src": "icons/bilkent-152x152.png", 27 | "sizes": "152x152", 28 | "type": "image/png" 29 | }, 30 | { 31 | "src": "icons/bilkent-192x192.png", 32 | "sizes": "192x192", 33 | "type": "image/png" 34 | }, 35 | { 36 | "src": "icons/bilkent-384x384.png", 37 | "sizes": "384x384", 38 | "type": "image/png" 39 | }, 40 | { 41 | "src": "icons/bilkent-512x512.png", 42 | "sizes": "512x512", 43 | "type": "image/png" 44 | } 45 | ], 46 | "start_url": ".", 47 | "display": "standalone", 48 | "theme_color": "#000000", 49 | "background_color": "#ffffff" 50 | } 51 | -------------------------------------------------------------------------------- /src/components/SemesterSelector/SemesterSelector.js: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import PropTypes from "prop-types"; 3 | 4 | import { Autocomplete } from "@material-ui/lab"; 5 | import { TextField } from "@material-ui/core"; 6 | 7 | const getOptionLabel = (selectedSemester, { code, name, year }) => { 8 | return selectedSemester.code === code ? `${name} / ${year}` : name; 9 | }; 10 | 11 | const renderInput = (params) => ( 12 | 13 | ); 14 | 15 | const SemesterSelector = ({ semesters, selectedSemester, onChange }) => ( 16 | year, 23 | onChange: (_, value) => onChange(value), 24 | disableClearable: true, 25 | openOnFocus: true, 26 | getOptionLabel: (semester) => getOptionLabel(selectedSemester, semester), 27 | renderInput, 28 | }} 29 | /> 30 | ); 31 | 32 | SemesterSelector.defaultProps = { 33 | selectedSemester: null, 34 | }; 35 | 36 | SemesterSelector.propTypes = { 37 | semesters: PropTypes.arrayOf(PropTypes.object).isRequired, 38 | selectedSemester: PropTypes.shape({}), 39 | onChange: PropTypes.func.isRequired, 40 | }; 41 | 42 | export default memo(SemesterSelector); 43 | -------------------------------------------------------------------------------- /src/guide/steps.js: -------------------------------------------------------------------------------- 1 | const init = () => [ 2 | { 3 | intro: "How to use Bilkent scheduler?", 4 | }, 5 | { 6 | element: "#semester-selector", 7 | intro: "Firstly, you need to select a semester!", 8 | position: "right", 9 | }, 10 | { 11 | element: "#course-selector", 12 | intro: 13 | "Then, you need to select some courses from the list to be able to do some magic with them!", 14 | position: "left", 15 | }, 16 | { 17 | element: "#content", 18 | intro: "Abracadabra and tada! Your schedules are ready. Let's get to work!", 19 | position: "top", 20 | }, 21 | { 22 | element: "#filter", 23 | intro: "Filter prepared schedules by instructors as you wish", 24 | position: "right", 25 | }, 26 | { 27 | element: "#capture-button", 28 | intro: "Export any of your schedule as PNG whenever you want!", 29 | position: "top", 30 | }, 31 | { 32 | element: document.querySelector("#schedule-table .locked"), 33 | intro: "Keep any timeslot you wish empty. Just lock it by clicking on!", 34 | position: "left", 35 | }, 36 | { 37 | element: "#pagination", 38 | intro: 39 | "Navigate among all schedules by using pagination or arrow keys on your keyboard!", 40 | position: "top", 41 | }, 42 | { 43 | intro: 44 | "That's all. You are ready to use Bilkent scheduler. May the force be with you!", 45 | }, 46 | ]; 47 | 48 | export default init; 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Bilkent Scheduler 2 | 3 | [Bilkent Scheduler](https://www.bilkentscheduler.com/) is an open-source tool designed to assist students at Bilkent University in planning their course schedules. 4 | 5 | This tool allows students to input the courses they wish to take and then generates possible schedules based on the times those courses are offered. 6 | 7 | ## Table of Contents 8 | 9 | - [Project Structure](#project-structure) 10 | - [Project Architecture](#project-architecture) 11 | - [Features](#features) 12 | - [License](#license) 13 | 14 | ## Project Structure 15 | 16 | Bilkent Scheduler consists of two main parts; data scraper and visualizer. 17 | 18 | ### Data Scraper 19 | 20 | Data scraper part is responsible from ensuring that the application data is up to date. The scraping function runs each an every day at 5:00 AM (GMT+3); it scrapes the necessary data from [Bilkent Stars](https://stars.bilkent.edu.tr/), and commits the new/updated application data to GitHub repo. 21 | 22 | ### Visualizer 23 | 24 | Visualizer part is responsible from calculating and visualising all of the possible weekly schedules that result from selected courses. 25 | 26 | ## Project Architecture 27 | 28 | Both data scraper and visualizer runs on Firebase (Firebase Hosting, Firebase Functions). When a new commit is pushed to main, the continuous deployment pipelines that are created by using GitHub actions handle the deployment processes. 29 | 30 | ## Features 31 | 32 | - Instructor selection 33 | - Timeslot preservation 34 | - Schedule exporter 35 | 36 | ## License 37 | 38 | [MIT](LICENSE) 39 | -------------------------------------------------------------------------------- /src/components/Schedule/Schedule.css: -------------------------------------------------------------------------------- 1 | #schedule { 2 | table-layout: fixed; 3 | width: 100%; 4 | border-spacing: 0; 5 | border-collapse: collapse; 6 | background: white; 7 | } 8 | 9 | #schedule tr td:nth-child(n + 2) { 10 | font-size: 11px; 11 | cursor: pointer; 12 | } 13 | 14 | #schedule tr th, 15 | #schedule tr td { 16 | position: relative; 17 | /* 18 | height temporarily decreased until the covid go away 19 | height: 46px; 20 | */ 21 | height: 38px; 22 | padding: 0 8px; 23 | text-align: right; 24 | text-transform: uppercase; 25 | vertical-align: middle; 26 | border: #d9d9d9 solid thin; 27 | } 28 | 29 | @media only screen and (max-width: 599px) { 30 | #schedule tr td:nth-child(n + 2), 31 | #schedule tr th { 32 | /* 33 | font-size and padding temporarily decreased until the covid go away 34 | font-size: 9px; 35 | padding: 0 6px; 36 | */ 37 | font-size: 8px; 38 | padding: 0 4px; 39 | } 40 | } 41 | 42 | #schedule tr th { 43 | white-space: nowrap; 44 | overflow: hidden; 45 | text-overflow: ellipsis; 46 | } 47 | 48 | #schedule tr td:after { 49 | content: ""; 50 | position: absolute; 51 | width: calc(100% - 14px); 52 | height: calc(100% - 14px); 53 | padding: 7px; 54 | top: 0; 55 | left: 0; 56 | font-family: "Material Icons"; 57 | font-size: 16px; 58 | } 59 | 60 | #schedule tr td:hover:after { 61 | background-color: #f3f3f3; 62 | } 63 | 64 | #schedule tr td.locked:after { 65 | content: "\e897"; 66 | } 67 | 68 | #schedule tr td:not(.locked):hover:after { 69 | content: "\e897"; 70 | } 71 | 72 | #schedule tr td.locked:hover:after { 73 | content: "\e898"; 74 | } 75 | -------------------------------------------------------------------------------- /src/components/CourseSelector/CourseSelector.js: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import PropTypes from "prop-types"; 3 | 4 | import { Autocomplete } from "@material-ui/lab"; 5 | import { TextField } from "@material-ui/core"; 6 | 7 | const renderInput = (params) => ( 8 | 14 | ); 15 | 16 | const filterOptions = (options, { inputValue }) => { 17 | if (inputValue.length === 0) { 18 | return options; 19 | } 20 | 21 | // to prevent possible turkish "ı" character related search issues 22 | const normalizedInput = inputValue.replace("ı", "i").toLowerCase(); 23 | 24 | const filteredOptions = options.filter(({ courseCode }) => { 25 | return courseCode.toLowerCase().includes(normalizedInput); 26 | }); 27 | 28 | return filteredOptions; 29 | }; 30 | 31 | const CourseSelector = ({ offerings, selectedCourses, onChange }) => ( 32 | courseCode.replace(" ", "-"), 39 | groupBy: ({ departmentCode }) => departmentCode, 40 | onChange: (_, value) => onChange(value), 41 | filterSelectedOptions: true, 42 | openOnFocus: true, 43 | multiple: true, 44 | filterOptions, 45 | renderInput, 46 | }} 47 | /> 48 | ); 49 | 50 | CourseSelector.propTypes = { 51 | offerings: PropTypes.arrayOf(PropTypes.object).isRequired, 52 | selectedCourses: PropTypes.arrayOf(PropTypes.object).isRequired, 53 | onChange: PropTypes.func.isRequired, 54 | }; 55 | 56 | export default memo(CourseSelector); 57 | -------------------------------------------------------------------------------- /src/components/Pagination/Pagination.js: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import PropTypes from "prop-types"; 3 | import { useKeyPressEvent } from "react-use"; 4 | import classnames from "classnames"; 5 | 6 | import "./Pagination.css"; 7 | 8 | const Pagination = ({ 9 | title, 10 | activePage, 11 | numberOfPages, 12 | onPageChange, 13 | ...props 14 | }) => { 15 | const isFirstPage = activePage === 1; 16 | const isLastPage = activePage >= numberOfPages; 17 | 18 | const wrapperClasses = classnames({ hidden: numberOfPages === 0 }); 19 | const prevButtonClasses = classnames({ disabled: isFirstPage }); 20 | const nextButtonClasses = classnames({ disabled: isLastPage }); 21 | 22 | const goToPreviousPage = () => { 23 | if (activePage > 1) { 24 | onPageChange(activePage - 1); 25 | } 26 | }; 27 | 28 | const goToNextPage = () => { 29 | if (activePage < numberOfPages) { 30 | onPageChange(activePage + 1); 31 | } 32 | }; 33 | 34 | useKeyPressEvent("ArrowLeft", goToPreviousPage); 35 | useKeyPressEvent("ArrowRight", goToNextPage); 36 | 37 | return ( 38 | 53 | ); 54 | }; 55 | 56 | Pagination.propTypes = { 57 | title: PropTypes.string.isRequired, 58 | activePage: PropTypes.number.isRequired, 59 | numberOfPages: PropTypes.number.isRequired, 60 | onPageChange: PropTypes.func.isRequired, 61 | }; 62 | 63 | export default memo(Pagination); 64 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bilkent-scheduler", 3 | "version": "1.0.0", 4 | "license": "MIT", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/furkankose/bilkent-scheduler" 8 | }, 9 | "scripts": { 10 | "start": "react-scripts start", 11 | "build": "react-scripts build", 12 | "eject": "react-scripts eject", 13 | "fetch-offerings": "node -r esm scraper/index.js", 14 | "format": "prettier --write .", 15 | "lint": "eslint .", 16 | "lint:fix": "eslint --fix ." 17 | }, 18 | "dependencies": { 19 | "@material-ui/core": "^4.9.10", 20 | "@material-ui/icons": "^4.9.1", 21 | "@material-ui/lab": "^4.0.0-alpha.49", 22 | "classnames": "^2.2.6", 23 | "html2canvas": "^1.0.0-rc.5", 24 | "intro.js": "^2.9.3", 25 | "prop-types": "^15.7.2", 26 | "react": "^16.13.1", 27 | "react-dom": "^16.13.1", 28 | "react-ga4": "^2.1.0", 29 | "react-scripts": "3.4.1", 30 | "react-use": "^15.3.3" 31 | }, 32 | "devDependencies": { 33 | "@commitlint/cli": "^11.0.0", 34 | "@commitlint/config-conventional": "^11.0.0", 35 | "cheerio": "^1.0.0-rc.12", 36 | "eslint-config-airbnb": "^18.1.0", 37 | "eslint-config-prettier": "^6.10.1", 38 | "eslint-plugin-jsx-a11y": "^6.2.3", 39 | "eslint-plugin-prettier": "^3.1.2", 40 | "esm": "^3.2.25", 41 | "husky": "^4.3.5", 42 | "lint-staged": "^10.5.3", 43 | "merge-deep": "^3.0.3", 44 | "moment": "^2.30.1", 45 | "prettier": "^2.0.4", 46 | "reqque": "^2.0.3", 47 | "typescript": "^4.0.2" 48 | }, 49 | "commitlint": { 50 | "extends": [ 51 | "@commitlint/config-conventional" 52 | ] 53 | }, 54 | "browserslist": { 55 | "production": [ 56 | ">0.2%", 57 | "not dead", 58 | "not op_mini all" 59 | ], 60 | "development": [ 61 | "last 1 chrome version", 62 | "last 1 firefox version", 63 | "last 1 safari version" 64 | ] 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 13 | 17 | 18 | 27 | 32 | 36 | 37 | Bilkent Scheduler 38 | 39 | 40 |
41 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # Snowpack dependency directory (https://snowpack.dev/) 45 | web_modules/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | .parcel-cache 78 | 79 | # Next.js build output 80 | .next 81 | out 82 | 83 | # Nuxt.js build 84 | .nuxt 85 | 86 | # Gatsby files 87 | .cache/ 88 | # Comment in the public line in if your project uses Gatsby and not Next.js 89 | # https://nextjs.org/blog/next-9-1#public-directory-support 90 | # public 91 | 92 | # vuepress build output 93 | .vuepress/dist 94 | 95 | # build output 96 | build 97 | 98 | # Serverless directories 99 | .serverless/ 100 | 101 | # Firebase directories 102 | .firebase/ 103 | 104 | # FuseBox cache 105 | .fusebox/ 106 | 107 | # DynamoDB Local files 108 | .dynamodb/ 109 | 110 | # TernJS port file 111 | .tern-port 112 | 113 | # Stores VSCode versions used for testing VSCode extensions 114 | .vscode-test 115 | 116 | # yarn v2 117 | .yarn/cache 118 | .yarn/unplugged 119 | .yarn/build-state.yml 120 | .yarn/install-state.gz 121 | .pnp.* -------------------------------------------------------------------------------- /scraper/main.js: -------------------------------------------------------------------------------- 1 | import merge from "merge-deep"; 2 | import { promises as fs } from "fs"; 3 | import { join } from "path"; 4 | 5 | import { 6 | fetchAcademicCalendar, 7 | fetchDepartments, 8 | fetchOfferings, 9 | } from "./services/bilkent.service"; 10 | 11 | import { 12 | getSemesters, 13 | findSemestersNotFetchedBefore, 14 | } from "./services/semester.service"; 15 | 16 | const writeJsonToFile = async (directory, fileName, json) => { 17 | await fs.mkdir(directory, { recursive: true }); 18 | await fs.writeFile(`${directory}/${fileName}.json`, JSON.stringify(json)); 19 | }; 20 | 21 | const mergeOfferingsIntoObject = (offerings) => { 22 | const offeringsObjects = offerings.map((offering) => { 23 | const { code, name, instructor, schedule } = offering; 24 | const [courseCode, sectionNumber] = code.split("-"); 25 | const [departmentCode] = courseCode.split(" "); 26 | 27 | return { 28 | [departmentCode]: { 29 | [courseCode]: { 30 | name, 31 | sections: { 32 | [sectionNumber]: { 33 | instructor, 34 | schedule, 35 | }, 36 | }, 37 | }, 38 | }, 39 | }; 40 | }); 41 | 42 | return merge(...offeringsObjects); 43 | }; 44 | 45 | const scrape = async (OUTPUT_DIRECTORY) => { 46 | const OFFERINGS_DIRECTORY = `${OUTPUT_DIRECTORY}/offerings`; 47 | 48 | const departments = await fetchDepartments(); 49 | 50 | if (departments.length === 0) { 51 | throw new Error("No departments fetched!"); 52 | } 53 | 54 | const academicCalendar = await fetchAcademicCalendar(); 55 | const semesters = getSemesters(academicCalendar); 56 | 57 | const [currentSemester, ...oldSemesters] = semesters; 58 | const semestersNotFetchedBefore = await findSemestersNotFetchedBefore( 59 | OFFERINGS_DIRECTORY, 60 | oldSemesters 61 | ); 62 | 63 | await Promise.all([ 64 | writeJsonToFile(OUTPUT_DIRECTORY, "departments", departments), 65 | writeJsonToFile(OUTPUT_DIRECTORY, "semesters", semesters), 66 | ]); 67 | 68 | for (const semester of [currentSemester, ...semestersNotFetchedBefore]) { 69 | console.log("Semester", semester.code); 70 | 71 | const offerings = await fetchOfferings( 72 | departments.map(({ code }) => code), 73 | semester.code 74 | ); 75 | 76 | if (offerings.length === 0) { 77 | throw new Error("No offerings fetched!"); 78 | } 79 | 80 | const offeringsObject = mergeOfferingsIntoObject(offerings); 81 | 82 | await writeJsonToFile(OFFERINGS_DIRECTORY, semester.code, offeringsObject); 83 | } 84 | }; 85 | 86 | (async () => { 87 | await scrape(join(__dirname, "../public/data")); 88 | })(); 89 | -------------------------------------------------------------------------------- /public/data/departments.json: -------------------------------------------------------------------------------- 1 | [{"code":"ACC","name":"Accounting Information Systems"},{"code":"ADA","name":"Art, Design and Architecture Courses"},{"code":"AMER","name":"American Culture and Literature"},{"code":"ARCH","name":"Architecture"},{"code":"BTE","name":"Curriculum and Instruction with Teaching Certificate "},{"code":"CHEM","name":"Chemistry"},{"code":"CI","name":"Curriculum and Instruction"},{"code":"CINT","name":"Translation and Interpretation"},{"code":"COMD","name":"Communication and Design"},{"code":"CS","name":"Computer Engineering"},{"code":"CTE","name":"Computer and Instructional Technology Teacher Education"},{"code":"CTIS","name":"Information Systems and Technologies"},{"code":"ECON","name":"Economics"},{"code":"EDEB","name":"Turkish Literature"},{"code":"EDU","name":"Basic Education"},{"code":"EEE","name":"Electrical and Electronics Engineering"},{"code":"ELIT","name":"English Language and Literature"},{"code":"ELS","name":"Academic English Program"},{"code":"EMBA","name":"Management"},{"code":"ENG","name":"Academic English Program"},{"code":"ETE","name":"Curriculum and Instruction with Teaching Certificate "},{"code":"FA","name":"Fine Arts"},{"code":"FRP","name":"Translation and Interpretation"},{"code":"GE","name":"General Education Courses"},{"code":"GRA","name":"Graphic Design"},{"code":"HART","name":"Archaeology"},{"code":"HCIV","name":"History"},{"code":"HIST","name":"History"},{"code":"HUM","name":"Program in Cultures, Civilizations, and Ideas"},{"code":"IAED","name":"Interior Architecture and Environmental Design"},{"code":"IE","name":"Industrial Engineering"},{"code":"IELTS","name":"English Language Preparatory Program"},{"code":"IR","name":"International Relations"},{"code":"LAUD","name":"Urban Design and Landscape Architecture"},{"code":"LAW","name":"Law"},{"code":"LNG","name":"Second Foreign Language Program"},{"code":"MAN","name":"Management"},{"code":"MATH","name":"Mathematics"},{"code":"MBA","name":"Management"},{"code":"MBG","name":"Molecular Biology and Genetics"},{"code":"ME","name":"Mechanical Engineering"},{"code":"MSC","name":"Music"},{"code":"MSN","name":"Materials Science and Nanotechnology"},{"code":"MTE","name":"Curriculum and Instruction with Teaching Certificate "},{"code":"MUS","name":"Music"},{"code":"NSC","name":"Neuroscience"},{"code":"PHIL","name":"Philosophy"},{"code":"PHYS","name":"Physics"},{"code":"POLS","name":"Political Science and Public Administration"},{"code":"PREP","name":"English Language Preparatory Program"},{"code":"PSYC","name":"Psychology"},{"code":"SFL","name":"Translation and Interpretation"},{"code":"SOC","name":"Political Science and Public Administration"},{"code":"TE","name":"Curriculum and Instruction with Teaching Certificate "},{"code":"TEFL","name":"Teaching English as a Foreign Language"},{"code":"THEA","name":"Performing Arts"},{"code":"THM","name":"Tourism and Hotel Management"},{"code":"THR","name":"Performing Arts"},{"code":"TOEFL","name":"English Language Preparatory Program"},{"code":"TRIN","name":"Translation and Interpretation"},{"code":"TURK","name":"Turkish Unit"}] -------------------------------------------------------------------------------- /src/components/Schedule/Schedule.js: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import PropTypes from "prop-types"; 3 | 4 | import TableCell from "./Cell"; 5 | 6 | import "./Schedule.css"; 7 | 8 | import days from "../../constants/days"; 9 | import hours from "../../constants/hours"; 10 | import colors from "../../constants/colors"; 11 | 12 | const TOTAL_DAYS = days.length; 13 | 14 | const Schedule = ({ 15 | courses, 16 | timeslots, 17 | excludedTimeslots, 18 | onCellClick, 19 | ...props 20 | }) => { 21 | const getCourseIndex = (timeslotIndex) => { 22 | if (timeslots[timeslotIndex] === undefined) { 23 | return undefined; 24 | } 25 | 26 | return timeslots[timeslotIndex].course; 27 | }; 28 | 29 | const isTimeslotEmpty = (timeslotIndex) => { 30 | const courseIndex = getCourseIndex(timeslotIndex); 31 | 32 | return courseIndex === undefined; 33 | }; 34 | 35 | const getCourseCode = (timeslotIndex) => { 36 | const courseIndex = getCourseIndex(timeslotIndex); 37 | const course = courses[courseIndex] || {}; 38 | 39 | return course.courseCode; 40 | }; 41 | 42 | const getClassroom = (timeslotIndex) => { 43 | const timeslot = timeslots[timeslotIndex] || {}; 44 | 45 | return timeslot.classroom; 46 | }; 47 | 48 | const getColorStyle = (timeslotIndex) => { 49 | const courseIndex = getCourseIndex(timeslotIndex); 50 | 51 | return { style: { color: colors[courseIndex] } }; 52 | }; 53 | 54 | return ( 55 | 56 | 57 | 58 | 59 | {days.map((day) => ( 60 | 61 | ))} 62 | 63 | 64 | 65 | {hours.map((hour, hIndex) => ( 66 | 67 | <> 68 | 69 | {days.map((day, dIndex) => ( 70 | onCellClick(hIndex * TOTAL_DAYS + dIndex)} 77 | key={`${hour}-${day}`} 78 | /> 79 | ))} 80 | 81 | 82 | ))} 83 | 84 |
 {day}
{hour}
85 | ); 86 | }; 87 | 88 | Schedule.defaultProps = { 89 | courses: [], 90 | timeslots: {}, 91 | }; 92 | 93 | Schedule.propTypes = { 94 | courses: PropTypes.arrayOf(PropTypes.object), 95 | timeslots: PropTypes.shape({}), 96 | excludedTimeslots: PropTypes.shape({}).isRequired, 97 | onCellClick: PropTypes.func.isRequired, 98 | }; 99 | 100 | export default memo(Schedule); 101 | -------------------------------------------------------------------------------- /scraper/services/semester.service.js: -------------------------------------------------------------------------------- 1 | import moment from "moment"; 2 | import { promises as fs } from "fs"; 3 | 4 | const semesterNames = { 1: "Fall", 2: "Spring", 3: "Summer" }; 5 | 6 | const findRegistrationDates = (academicCalendarData) => { 7 | const registrationDateDescriptions = [ 8 | "Departments finalize schedules, quotas, and elective pools", 9 | "Course requests for Summer School through SRS", 10 | ]; 11 | 12 | const registrationDates = []; 13 | 14 | for (const { date, description } of academicCalendarData) { 15 | const isRegistrationDate = registrationDateDescriptions.includes( 16 | description 17 | ); 18 | 19 | if (isRegistrationDate) { 20 | registrationDates.push(date); 21 | } 22 | } 23 | 24 | return registrationDates; 25 | }; 26 | 27 | const findCurrentSemester = (registrationDates) => { 28 | const [beginningDateOfAcademicYear] = registrationDates; 29 | const academicYear = beginningDateOfAcademicYear.split(" ").pop(); 30 | 31 | const currentSemesterIndex = registrationDates 32 | .map((date) => moment() > moment(date, "D MMMM YYYY").subtract(40, "days")) 33 | .lastIndexOf(true); 34 | 35 | if (currentSemesterIndex === -1) { 36 | return { 37 | year: academicYear - 1, 38 | number: 3, 39 | }; 40 | } 41 | 42 | // Semester numbers 43 | // Fall -> 1 44 | // Spring -> 2 45 | // Summer -> 3 46 | return { 47 | year: parseInt(academicYear, 10), 48 | number: currentSemesterIndex + 1, 49 | }; 50 | }; 51 | 52 | const getSemesters = (academicCalendar) => { 53 | const registrationDates = findRegistrationDates(academicCalendar); 54 | const currentSemester = findCurrentSemester(registrationDates); 55 | const semesters = []; 56 | 57 | for ( 58 | let semesterYear = currentSemester.year; 59 | semesterYear >= 2000; 60 | semesterYear -= 1 61 | ) { 62 | const isCurrentSemesterYear = semesterYear === currentSemester.year; 63 | 64 | for ( 65 | let semesterNumber = isCurrentSemesterYear ? currentSemester.number : 3; 66 | semesterNumber >= 1; 67 | semesterNumber -= 1 68 | ) { 69 | const semester = { 70 | year: `${semesterYear}-${semesterYear + 1}`, 71 | code: `${semesterYear}${semesterNumber}`, 72 | name: semesterNames[semesterNumber], 73 | }; 74 | 75 | semesters.push(semester); 76 | } 77 | } 78 | 79 | return semesters; 80 | }; 81 | 82 | const findSemestersNotFetchedBefore = async (offeringsDirectory, semesters) => { 83 | let isOfferingsFolderCreated = true; 84 | 85 | try { 86 | await fs.access(offeringsDirectory, fs.F_OK); 87 | } catch (error) { 88 | console.log(error); 89 | isOfferingsFolderCreated = false; 90 | } 91 | 92 | if (!isOfferingsFolderCreated) { 93 | return []; 94 | } 95 | 96 | const offeringsFiles = await fs.readdir(offeringsDirectory); 97 | 98 | return semesters.filter( 99 | (semester) => !offeringsFiles.includes(`${semester.code}.json`) 100 | ); 101 | }; 102 | 103 | export { getSemesters, findSemestersNotFetchedBefore }; 104 | -------------------------------------------------------------------------------- /src/components/InstructorSelector/InstructorSelector.js: -------------------------------------------------------------------------------- 1 | import React, { memo, useEffect } from "react"; 2 | import PropTypes from "prop-types"; 3 | 4 | import Dialog from "@material-ui/core/Dialog"; 5 | import DialogTitle from "@material-ui/core/DialogTitle"; 6 | import DialogContent from "@material-ui/core/DialogContent"; 7 | import DialogActions from "@material-ui/core/DialogActions"; 8 | import FormControl from "@material-ui/core/FormControl"; 9 | import InputLabel from "@material-ui/core/InputLabel"; 10 | import Select from "@material-ui/core/Select"; 11 | import MenuItem from "@material-ui/core/MenuItem"; 12 | import Button from "@material-ui/core/Button"; 13 | 14 | import "./InstructorSelector.css"; 15 | 16 | const InstructorSelector = ({ show, courses, onApply, onClose }) => { 17 | const [tempCourses, setTempCourses] = React.useState([]); 18 | 19 | const getUniqueInstructorList = ({ sections }) => [ 20 | ...new Set(Object.values(sections).map(({ instructor }) => instructor)), 21 | ]; 22 | 23 | const selectInstructor = (instructorIndex, selectedInstructor) => { 24 | setTempCourses( 25 | Object.assign([], tempCourses, { 26 | [instructorIndex]: { 27 | ...tempCourses[instructorIndex], 28 | selectedInstructor, 29 | }, 30 | }) 31 | ); 32 | }; 33 | 34 | const applyChangesAndCloseDialog = () => { 35 | onApply(tempCourses); 36 | onClose(); 37 | }; 38 | 39 | useEffect(() => { 40 | setTempCourses(courses); 41 | }, [show, courses]); 42 | 43 | return ( 44 | 45 | Select course instructors 46 | 47 | {tempCourses.map((course, index) => ( 48 | 53 | {course.courseCode} 54 | 67 | 68 | ))} 69 | 70 | 71 | 74 | 77 | 78 | 79 | ); 80 | }; 81 | 82 | InstructorSelector.propTypes = { 83 | show: PropTypes.bool.isRequired, 84 | courses: PropTypes.arrayOf(PropTypes.object).isRequired, 85 | onApply: PropTypes.func.isRequired, 86 | onClose: PropTypes.func.isRequired, 87 | }; 88 | 89 | export default memo(InstructorSelector); 90 | -------------------------------------------------------------------------------- /src/components/Courses/Courses.js: -------------------------------------------------------------------------------- 1 | import React, { memo } from "react"; 2 | import PropTypes from "prop-types"; 3 | 4 | import { Icon, IconButton } from "@material-ui/core"; 5 | 6 | import "./Courses.css"; 7 | 8 | import colors from "../../constants/colors"; 9 | 10 | const status = { 11 | 0: { 12 | title: "No course selected yet!", 13 | message: "Really? Come on!", 14 | }, 15 | 1: { 16 | title: "No available schedule!", 17 | message: "Please, remove some of the courses.", 18 | }, 19 | }; 20 | 21 | const Courses = ({ 22 | courses, 23 | isFailed, 24 | onCourseEdit, 25 | onCourseRemove, 26 | ...props 27 | }) => { 28 | const getColorStyle = (colorIndex) => { 29 | return { style: { color: colors[colorIndex] } }; 30 | }; 31 | 32 | return ( 33 | 34 | 35 | 36 | 39 | 44 | 56 | 57 | 58 | 59 | {courses.length > 0 ? ( 60 | courses.map((course, index) => ( 61 | 62 | 65 | 72 | 82 | 83 | )) 84 | ) : ( 85 | 86 | 89 | 96 | 97 | )} 98 | 99 |
37 | # 38 | 40 | [COURSE]-[SECTION] 41 |
42 | Instructor 43 |
45 | {courses.length > 0 && ( 46 | 52 | filter_list 53 | 54 | )} 55 |
63 | {index + 1} 64 | 66 |
67 | {course.courseCode} 68 |
69 | {course.instructor} 70 |
71 |
73 | onCourseRemove(index)} 77 | data-html2canvas-ignore 78 | > 79 | clear 80 | 81 |
87 | ? 88 | 90 |
91 | {status[+isFailed].title} 92 |
93 | {status[+isFailed].message} 94 |
95 |
100 | ); 101 | }; 102 | 103 | Courses.defaultProps = { 104 | courses: [], 105 | }; 106 | 107 | Courses.propTypes = { 108 | courses: PropTypes.arrayOf(PropTypes.object), 109 | isFailed: PropTypes.bool.isRequired, 110 | onCourseEdit: PropTypes.func.isRequired, 111 | onCourseRemove: PropTypes.func.isRequired, 112 | }; 113 | 114 | export default memo(Courses); 115 | -------------------------------------------------------------------------------- /src/schedule.js: -------------------------------------------------------------------------------- 1 | import html2canvas from "html2canvas"; 2 | 3 | const reduceOfferings = (offerings, [departmentCode, departmentOfferings]) => { 4 | const courses = Object.entries(departmentOfferings).map( 5 | ([courseCode, course]) => ({ 6 | selectedInstructor: "All", 7 | departmentCode, 8 | courseCode, 9 | ...course, 10 | }) 11 | ); 12 | 13 | return [...offerings, ...courses]; 14 | }; 15 | 16 | const areTimeslotsOverlapping = (...timeslots) => { 17 | const mergedTimeslots = new Set(timeslots.flat()); 18 | 19 | const totalTimeslots = timeslots.reduce( 20 | (total, timeslot) => total + timeslot.length, 21 | 0 22 | ); 23 | 24 | return mergedTimeslots.size !== totalTimeslots; 25 | }; 26 | 27 | const getNotOverlappingSections = ( 28 | excludedTimeslots, 29 | courseSection, 30 | schedule = { timeslots: [], courses: [] } 31 | ) => { 32 | if ( 33 | areTimeslotsOverlapping( 34 | Object.keys(excludedTimeslots), 35 | Object.keys(courseSection.schedule), 36 | Object.keys(schedule.timeslots) 37 | ) 38 | ) { 39 | return null; 40 | } 41 | 42 | const course = { 43 | courseCode: courseSection.courseCode, 44 | instructor: courseSection.instructor, 45 | }; 46 | 47 | const courseTimeslots = { ...courseSection.schedule }; 48 | 49 | for (const key of Object.keys(courseTimeslots)) { 50 | courseTimeslots[key] = { 51 | classroom: courseSection.schedule[key], 52 | course: schedule.courses.length, 53 | }; 54 | } 55 | 56 | return { 57 | courses: [...schedule.courses, course], 58 | timeslots: { ...schedule.timeslots, ...courseTimeslots }, 59 | }; 60 | }; 61 | 62 | const prepareSchedules = (excludedTimeslots, selectedCourses) => { 63 | let schedules = []; 64 | 65 | for (const selectedCourse of selectedCourses) { 66 | const newSchedules = []; 67 | 68 | const { selectedInstructor } = selectedCourse; 69 | let sections = Object.entries(selectedCourse.sections); 70 | 71 | if (selectedInstructor !== "All") { 72 | sections = sections.filter( 73 | ([, courseSection]) => courseSection.instructor === selectedInstructor 74 | ); 75 | } 76 | 77 | for (const [sectionCode, courseSection] of sections) { 78 | let i = 0; 79 | 80 | courseSection.courseCode = `${selectedCourse.courseCode}-${sectionCode}`; 81 | 82 | do { 83 | const newSchedule = getNotOverlappingSections( 84 | excludedTimeslots, 85 | courseSection, 86 | schedules[i] 87 | ); 88 | 89 | if (newSchedule) { 90 | newSchedules.push(newSchedule); 91 | } 92 | 93 | i += 1; 94 | } while (i < schedules.length); 95 | } 96 | 97 | schedules = newSchedules; 98 | } 99 | 100 | return schedules; 101 | }; 102 | 103 | const exportScheduleAsPNG = async () => { 104 | const canvas = await html2canvas(document.body, {}); 105 | const link = document.createElement("a"); 106 | const date = new Date().toLocaleString(); 107 | 108 | link.href = canvas.toDataURL(); 109 | link.download = `Bilkent Scheduler - ${date}.png`; 110 | 111 | link.click(); 112 | }; 113 | 114 | export { 115 | reduceOfferings, 116 | areTimeslotsOverlapping, 117 | getNotOverlappingSections, 118 | prepareSchedules, 119 | exportScheduleAsPNG, 120 | }; 121 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: Montserrat; 3 | font-size: 13px; 4 | margin: 0; 5 | } 6 | 7 | #root { 8 | width: calc(100% - 32px); 9 | min-height: calc(100vh - 32px); 10 | padding: 16px; 11 | } 12 | 13 | @media only screen and (max-width: 599px) { 14 | #root { 15 | display: flex; 16 | flex-direction: column-reverse; 17 | } 18 | } 19 | 20 | #container { 21 | display: flex; 22 | flex-direction: column; 23 | justify-content: center; 24 | min-height: calc(100vh - 100px); 25 | margin-bottom: 24px; 26 | } 27 | 28 | .background { 29 | -webkit-font-smoothing: antialiased; 30 | -moz-osx-font-smoothing: grayscale; 31 | background: linear-gradient( 32 | 45deg, 33 | rgb(19, 73, 95), 34 | rgb(118, 75, 226), 35 | rgb(131, 115, 198), 36 | rgb(119, 211, 185) 37 | ) 38 | fixed; 39 | } 40 | 41 | #selectors { 42 | margin-bottom: 16px; 43 | padding: 16px; 44 | } 45 | 46 | #coffee-button { 47 | display: inline-block; 48 | width: calc(100% - 24px); 49 | padding: 2px 12px; 50 | color: #fff; 51 | font-size: 13px; 52 | font-weight: 500; 53 | line-height: 36px; 54 | text-decoration: none; 55 | display: flex; 56 | align-items: center; 57 | justify-content: center; 58 | } 59 | 60 | #coffee-button:hover { 61 | opacity: 0.85; 62 | } 63 | 64 | #coffee-icon { 65 | width: 20px; 66 | height: 13px; 67 | margin-right: 6px; 68 | } 69 | 70 | #coffee-icon { 71 | height: 15px; 72 | width: 22px; 73 | animation: coffee-animation 3s infinite; 74 | } 75 | 76 | #footer { 77 | display: flex; 78 | justify-content: space-between; 79 | align-items: center; 80 | } 81 | 82 | #coloring-pages-link { 83 | opacity: 0.5; 84 | } 85 | 86 | #coloring-pages-link:hover { 87 | opacity: 0.4; 88 | } 89 | 90 | #coloring-pages-link a { 91 | color: #fff; 92 | font-weight: bold; 93 | text-decoration: none; 94 | } 95 | 96 | @media only screen and (max-width: 599px) { 97 | #main { 98 | flex-direction: column-reverse; 99 | order: 2; 100 | } 101 | } 102 | 103 | #schedule-details { 104 | padding-right: 5px; 105 | } 106 | 107 | @media only screen and (max-width: 599px) { 108 | #schedule-details { 109 | margin-top: 16px; 110 | padding-right: 0; 111 | } 112 | } 113 | 114 | .paper { 115 | padding: 16px; 116 | } 117 | 118 | #schedule-details .paper { 119 | height: calc(100% - 32px); 120 | display: flex; 121 | flex-direction: column; 122 | justify-content: space-between; 123 | } 124 | 125 | #schedule-table { 126 | padding-left: 12px; 127 | } 128 | 129 | @media only screen and (max-width: 599px) { 130 | #schedule-table { 131 | padding-left: 0; 132 | } 133 | } 134 | 135 | #capture-button { 136 | margin-left: auto; 137 | } 138 | 139 | @media only screen and (max-width: 599px) { 140 | #logo { 141 | margin: 0 auto 16px auto; 142 | } 143 | } 144 | 145 | .introjs-tooltipbuttons { 146 | display: flex; 147 | justify-content: flex-end; 148 | } 149 | 150 | .introjs-tooltipbuttons .introjs-donebutton { 151 | order: 1; 152 | margin-right: 0; 153 | } 154 | 155 | @keyframes coffee-animation { 156 | 0% { 157 | transform: rotate(0) scale(1); 158 | } 159 | 50% { 160 | transform: rotate(0) scale(1.15); 161 | } 162 | 65% { 163 | transform: rotate(0) scale(1.3); 164 | } 165 | 70% { 166 | transform: rotate(0) scale(1.3); 167 | } 168 | 74% { 169 | transform: rotate(-10deg) scale(1.3); 170 | } 171 | 78% { 172 | transform: rotate(10deg) scale(1.3); 173 | } 174 | 82% { 175 | transform: rotate(-10deg) scale(1.3); 176 | } 177 | 86% { 178 | transform: rotate(10deg) scale(1.3); 179 | } 180 | 90% { 181 | transform: rotate(0) scale(1.3); 182 | } 183 | 100% { 184 | transform: scale(1); 185 | } 186 | } 187 | -------------------------------------------------------------------------------- /public/data/semesters.json: -------------------------------------------------------------------------------- 1 | [{"year":"2025-2026","code":"20252","name":"Spring"},{"year":"2025-2026","code":"20251","name":"Fall"},{"year":"2024-2025","code":"20243","name":"Summer"},{"year":"2024-2025","code":"20242","name":"Spring"},{"year":"2024-2025","code":"20241","name":"Fall"},{"year":"2023-2024","code":"20233","name":"Summer"},{"year":"2023-2024","code":"20232","name":"Spring"},{"year":"2023-2024","code":"20231","name":"Fall"},{"year":"2022-2023","code":"20223","name":"Summer"},{"year":"2022-2023","code":"20222","name":"Spring"},{"year":"2022-2023","code":"20221","name":"Fall"},{"year":"2021-2022","code":"20213","name":"Summer"},{"year":"2021-2022","code":"20212","name":"Spring"},{"year":"2021-2022","code":"20211","name":"Fall"},{"year":"2020-2021","code":"20203","name":"Summer"},{"year":"2020-2021","code":"20202","name":"Spring"},{"year":"2020-2021","code":"20201","name":"Fall"},{"year":"2019-2020","code":"20193","name":"Summer"},{"year":"2019-2020","code":"20192","name":"Spring"},{"year":"2019-2020","code":"20191","name":"Fall"},{"year":"2018-2019","code":"20183","name":"Summer"},{"year":"2018-2019","code":"20182","name":"Spring"},{"year":"2018-2019","code":"20181","name":"Fall"},{"year":"2017-2018","code":"20173","name":"Summer"},{"year":"2017-2018","code":"20172","name":"Spring"},{"year":"2017-2018","code":"20171","name":"Fall"},{"year":"2016-2017","code":"20163","name":"Summer"},{"year":"2016-2017","code":"20162","name":"Spring"},{"year":"2016-2017","code":"20161","name":"Fall"},{"year":"2015-2016","code":"20153","name":"Summer"},{"year":"2015-2016","code":"20152","name":"Spring"},{"year":"2015-2016","code":"20151","name":"Fall"},{"year":"2014-2015","code":"20143","name":"Summer"},{"year":"2014-2015","code":"20142","name":"Spring"},{"year":"2014-2015","code":"20141","name":"Fall"},{"year":"2013-2014","code":"20133","name":"Summer"},{"year":"2013-2014","code":"20132","name":"Spring"},{"year":"2013-2014","code":"20131","name":"Fall"},{"year":"2012-2013","code":"20123","name":"Summer"},{"year":"2012-2013","code":"20122","name":"Spring"},{"year":"2012-2013","code":"20121","name":"Fall"},{"year":"2011-2012","code":"20113","name":"Summer"},{"year":"2011-2012","code":"20112","name":"Spring"},{"year":"2011-2012","code":"20111","name":"Fall"},{"year":"2010-2011","code":"20103","name":"Summer"},{"year":"2010-2011","code":"20102","name":"Spring"},{"year":"2010-2011","code":"20101","name":"Fall"},{"year":"2009-2010","code":"20093","name":"Summer"},{"year":"2009-2010","code":"20092","name":"Spring"},{"year":"2009-2010","code":"20091","name":"Fall"},{"year":"2008-2009","code":"20083","name":"Summer"},{"year":"2008-2009","code":"20082","name":"Spring"},{"year":"2008-2009","code":"20081","name":"Fall"},{"year":"2007-2008","code":"20073","name":"Summer"},{"year":"2007-2008","code":"20072","name":"Spring"},{"year":"2007-2008","code":"20071","name":"Fall"},{"year":"2006-2007","code":"20063","name":"Summer"},{"year":"2006-2007","code":"20062","name":"Spring"},{"year":"2006-2007","code":"20061","name":"Fall"},{"year":"2005-2006","code":"20053","name":"Summer"},{"year":"2005-2006","code":"20052","name":"Spring"},{"year":"2005-2006","code":"20051","name":"Fall"},{"year":"2004-2005","code":"20043","name":"Summer"},{"year":"2004-2005","code":"20042","name":"Spring"},{"year":"2004-2005","code":"20041","name":"Fall"},{"year":"2003-2004","code":"20033","name":"Summer"},{"year":"2003-2004","code":"20032","name":"Spring"},{"year":"2003-2004","code":"20031","name":"Fall"},{"year":"2002-2003","code":"20023","name":"Summer"},{"year":"2002-2003","code":"20022","name":"Spring"},{"year":"2002-2003","code":"20021","name":"Fall"},{"year":"2001-2002","code":"20013","name":"Summer"},{"year":"2001-2002","code":"20012","name":"Spring"},{"year":"2001-2002","code":"20011","name":"Fall"},{"year":"2000-2001","code":"20003","name":"Summer"},{"year":"2000-2001","code":"20002","name":"Spring"},{"year":"2000-2001","code":"20001","name":"Fall"}] -------------------------------------------------------------------------------- /scraper/services/bilkent.service.js: -------------------------------------------------------------------------------- 1 | import reqque from "reqque"; 2 | import cheerio from "cheerio"; 3 | import merge from "merge-deep"; 4 | 5 | const WEBSITE_URL = "http://w3.bilkent.edu.tr"; 6 | const API_URL = "https://stars.bilkent.edu.tr/homepage/ajax"; 7 | 8 | const fetchPages = async (pageUrls) => { 9 | console.log("Total", pageUrls.length); 10 | const pages = await reqque( 11 | pageUrls, 12 | (pageUrl) => 13 | fetch(pageUrl).then((response) => response.ok && response.text()), 14 | { 15 | maxRetries: 10, 16 | batch: { size: { limit: 10 } }, 17 | delay: { duration: { limit: 700 } }, 18 | } 19 | ); 20 | 21 | return pages.map(({ response }) => response); 22 | }; 23 | 24 | const fetchAcademicCalendar = async () => { 25 | const response = await fetch( 26 | `${WEBSITE_URL}/bilkent/academic-calendar-2025-2026/` 27 | ); 28 | 29 | if (!response.ok) { 30 | throw new Error("Fetch error (academic-calendar)"); 31 | } 32 | 33 | const academicCalendarPage = await response.text(); 34 | const $ = cheerio.load(academicCalendarPage); 35 | 36 | const academicCalendar = $(".tablepress tbody tr") 37 | .toArray() 38 | .map((row) => ({ 39 | date: $(row).find("td:nth-child(1)").text().split(",").shift(), 40 | description: $(row).find("td:nth-child(2)").text(), 41 | })); 42 | 43 | return academicCalendar; 44 | }; 45 | 46 | const fetchDepartments = async () => { 47 | const [departmentsPage] = await fetchPages([ 48 | `${API_URL}/plainCourseCodes.php`, 49 | ]); 50 | 51 | const $ = cheerio.load(departmentsPage); 52 | 53 | const departments = $("#ccTable tbody tr") 54 | .toArray() 55 | .map((department) => ({ 56 | code: $(department).find("td:nth-child(1)").text(), 57 | name: $(department).find("td:nth-child(2)").text(), 58 | })); 59 | 60 | return departments; 61 | }; 62 | 63 | const fetchSchedules = async (sectionCodes, semesterCode) => { 64 | const pageUrls = sectionCodes.map( 65 | (sectionCode) => 66 | `${API_URL}/schedule.php?COURSE=${sectionCode}&SEMESTER=${semesterCode}` 67 | ); 68 | 69 | const schedulePages = await fetchPages(pageUrls); 70 | 71 | const schedules = schedulePages.map((offeringsPage) => { 72 | const $ = cheerio.load(offeringsPage); 73 | 74 | const timeslots = $("#schedule tbody td:not([align])") 75 | .toArray() 76 | .map((timeslot, index) => { 77 | const timeslotClass = $(timeslot).attr("class"); 78 | const isTimeslotEmpty = !timeslotClass; 79 | 80 | if (isTimeslotEmpty) { 81 | return null; 82 | } 83 | 84 | const timeslotText = $(timeslot).text(); 85 | const isClassroomAvailable = timeslotText.includes("-"); 86 | const classroom = isClassroomAvailable ? timeslotText : "N/A"; 87 | const isOnline = timeslotClass === "cl_ders_o"; 88 | 89 | return { 90 | [index]: `${isOnline ? "Online" : classroom}`, 91 | }; 92 | }) 93 | .filter(Boolean); 94 | 95 | return { schedule: merge(...timeslots) }; 96 | }); 97 | 98 | return schedules; 99 | }; 100 | 101 | const fetchOfferings = async (departmentCodes, semesterCode) => { 102 | const pageUrls = departmentCodes.map( 103 | (departmentCode) => 104 | `${API_URL}/plainOfferings.php?COURSE_CODE=${departmentCode}&SEMESTER=${semesterCode}` 105 | ); 106 | 107 | const offeringsPages = await fetchPages(pageUrls); 108 | 109 | const offeringsWithoutSchedules = offeringsPages.map((offeringsPage) => { 110 | const $ = cheerio.load(offeringsPage); 111 | 112 | return $("#poTable tbody tr") 113 | .toArray() 114 | .map((offering) => ({ 115 | code: $(offering).find("td:nth-child(1)").text(), 116 | name: $(offering).find("td:nth-child(2)").text(), 117 | instructor: $(offering).find("td:nth-child(3)").text().trim(), 118 | })); 119 | }); 120 | 121 | const schedules = await fetchSchedules( 122 | offeringsWithoutSchedules.flat().map(({ code }) => code), 123 | semesterCode 124 | ); 125 | 126 | return merge(offeringsWithoutSchedules.flat(), schedules); 127 | }; 128 | 129 | export { fetchAcademicCalendar, fetchDepartments, fetchOfferings }; 130 | -------------------------------------------------------------------------------- /src/serviceWorker.js: -------------------------------------------------------------------------------- 1 | // This optional code is used to register a service worker. 2 | // register() is not called by default. 3 | 4 | // This lets the app load faster on subsequent visits in production, and gives 5 | // it offline capabilities. However, it also means that developers (and users) 6 | // will only see deployed updates on subsequent visits to a page, after all the 7 | // existing tabs open on the page have been closed, since previously cached 8 | // resources are updated in the background. 9 | 10 | // To learn more about the benefits of this model and instructions on how to 11 | // opt-in, read https://bit.ly/CRA-PWA 12 | 13 | /* eslint-disable */ 14 | const isLocalhost = Boolean( 15 | window.location.hostname === "localhost" || 16 | // [::1] is the IPv6 localhost address. 17 | window.location.hostname === "[::1]" || 18 | // 127.0.0.0/8 are considered localhost for IPv4. 19 | window.location.hostname.match( 20 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ 21 | ) 22 | ); 23 | 24 | export function register(config) { 25 | if (process.env.NODE_ENV === "production" && "serviceWorker" in navigator) { 26 | // The URL constructor is available in all browsers that support SW. 27 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); 28 | if (publicUrl.origin !== window.location.origin) { 29 | // Our service worker won't work if PUBLIC_URL is on a different origin 30 | // from what our page is served on. This might happen if a CDN is used to 31 | // serve assets; see https://github.com/facebook/create-react-app/issues/2374 32 | return; 33 | } 34 | 35 | window.addEventListener("load", () => { 36 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; 37 | 38 | if (isLocalhost) { 39 | // This is running on localhost. Let's check if a service worker still exists or not. 40 | checkValidServiceWorker(swUrl, config); 41 | 42 | // Add some additional logging to localhost, pointing developers to the 43 | // service worker/PWA documentation. 44 | navigator.serviceWorker.ready.then(() => { 45 | console.log( 46 | "This web app is being served cache-first by a service " + 47 | "worker. To learn more, visit https://bit.ly/CRA-PWA" 48 | ); 49 | }); 50 | } else { 51 | // Is not localhost. Just register service worker 52 | registerValidSW(swUrl, config); 53 | } 54 | }); 55 | } 56 | } 57 | 58 | function registerValidSW(swUrl, config) { 59 | navigator.serviceWorker 60 | .register(swUrl) 61 | .then((registration) => { 62 | registration.onupdatefound = () => { 63 | const installingWorker = registration.installing; 64 | if (installingWorker == null) { 65 | return; 66 | } 67 | installingWorker.onstatechange = () => { 68 | if (installingWorker.state === "installed") { 69 | if (navigator.serviceWorker.controller) { 70 | // At this point, the updated precached content has been fetched, 71 | // but the previous service worker will still serve the older 72 | // content until all client tabs are closed. 73 | console.log( 74 | "New content is available and will be used when all " + 75 | "tabs for this page are closed. See https://bit.ly/CRA-PWA." 76 | ); 77 | 78 | // Execute callback 79 | if (config && config.onUpdate) { 80 | config.onUpdate(registration); 81 | } 82 | } else { 83 | // At this point, everything has been precached. 84 | // It's the perfect time to display a 85 | // "Content is cached for offline use." message. 86 | console.log("Content is cached for offline use."); 87 | 88 | // Execute callback 89 | if (config && config.onSuccess) { 90 | config.onSuccess(registration); 91 | } 92 | } 93 | } 94 | }; 95 | }; 96 | }) 97 | .catch((error) => { 98 | console.error("Error during service worker registration:", error); 99 | }); 100 | } 101 | 102 | function checkValidServiceWorker(swUrl, config) { 103 | // Check if the service worker can be found. If it can't reload the page. 104 | fetch(swUrl, { 105 | headers: { "Service-Worker": "script" }, 106 | }) 107 | .then((response) => { 108 | // Ensure service worker exists, and that we really are getting a JS file. 109 | const contentType = response.headers.get("content-type"); 110 | if ( 111 | response.status === 404 || 112 | (contentType != null && contentType.indexOf("javascript") === -1) 113 | ) { 114 | // No service worker found. Probably a different app. Reload the page. 115 | navigator.serviceWorker.ready.then((registration) => { 116 | registration.unregister().then(() => { 117 | window.location.reload(); 118 | }); 119 | }); 120 | } else { 121 | // Service worker found. Proceed as normal. 122 | registerValidSW(swUrl, config); 123 | } 124 | }) 125 | .catch(() => { 126 | console.log( 127 | "No internet connection found. App is running in offline mode." 128 | ); 129 | }); 130 | } 131 | 132 | export function unregister() { 133 | if ("serviceWorker" in navigator) { 134 | navigator.serviceWorker.ready.then((registration) => { 135 | registration.unregister(); 136 | }); 137 | } 138 | } 139 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import React, { useState, useRef } from "react"; 2 | import { useLocalStorage, useUpdateEffect, useEffectOnce } from "react-use"; 3 | import ReactGA from "react-ga4"; 4 | 5 | import { 6 | Container, 7 | Grid, 8 | Paper, 9 | Icon, 10 | IconButton, 11 | Box, 12 | Link, 13 | } from "@material-ui/core"; 14 | import { GitHub as GitHubIcon } from "@material-ui/icons"; 15 | 16 | import SemesterSelector from "./components/SemesterSelector"; 17 | import CourseSelector from "./components/CourseSelector/CourseSelector"; 18 | import Courses from "./components/Courses"; 19 | import InstructorSelector from "./components/InstructorSelector"; 20 | import Schedule from "./components/Schedule"; 21 | import Pagination from "./components/Pagination"; 22 | import Logo from "./components/Logo"; 23 | 24 | import { 25 | reduceOfferings, 26 | prepareSchedules, 27 | exportScheduleAsPNG, 28 | } from "./schedule"; 29 | 30 | import displayUserGuide from "./guide"; 31 | 32 | import "./App.css"; 33 | 34 | const App = () => { 35 | const [semesters, setSemesters] = useState([]); 36 | const [selectedSemester, setSelectedSemester] = useState(null); 37 | const [offerings, setOfferings] = useState([]); 38 | const [selectedCourses, setSelectedCourses] = useState([]); 39 | const [excludedTimeslots, setExcludedTimeslots] = useState({}); 40 | const [schedules, setSchedules] = useState([]); 41 | const [selectedSchedule, setSelectedSchedule] = useState(0); 42 | const [isUserGuideOpened, setIsUserGuideOpened] = useState(false); 43 | 44 | const [isInstructorSelectorOpened, setIsInstructorSelectorOpened] = useState( 45 | false 46 | ); 47 | const [isUserGuideCompleted, setIsUserGuideCompleted] = useLocalStorage( 48 | "isUserGuideCompleted", 49 | false 50 | ); 51 | 52 | const previousStates = useRef(); 53 | 54 | const { courses, timeslots } = schedules[selectedSchedule] || {}; 55 | const isThereAnyExcludedTimeSlot = !!Object.values(excludedTimeslots).length; 56 | 57 | const includeOrExcludeTimeslot = (timeslot) => { 58 | if (excludedTimeslots[timeslot]) { 59 | const tempExcludedTimeslots = { ...excludedTimeslots }; 60 | delete tempExcludedTimeslots[timeslot]; 61 | 62 | setExcludedTimeslots(tempExcludedTimeslots); 63 | } else { 64 | setExcludedTimeslots({ ...excludedTimeslots, [timeslot]: true }); 65 | } 66 | }; 67 | const removeCourse = (courseIndex) => { 68 | setSelectedCourses([ 69 | ...selectedCourses.slice(0, courseIndex), 70 | ...selectedCourses.slice(courseIndex + 1), 71 | ]); 72 | }; 73 | 74 | const resetStates = () => { 75 | setSelectedCourses([]); 76 | setExcludedTimeslots({}); 77 | setSchedules([]); 78 | setSelectedSchedule(0); 79 | }; 80 | 81 | const storeStates = () => { 82 | previousStates.current = { 83 | selectedSemester, 84 | selectedCourses, 85 | excludedTimeslots, 86 | selectedSchedule, 87 | }; 88 | }; 89 | 90 | const closeUserGuide = () => { 91 | setSelectedSemester(previousStates.current.selectedSemester); 92 | setSelectedCourses(previousStates.current.selectedCourses); 93 | setExcludedTimeslots(previousStates.current.excludedTimeslots); 94 | setSelectedSchedule(previousStates.current.selectedSchedule); 95 | 96 | setIsUserGuideOpened(false); 97 | setIsUserGuideCompleted(true); 98 | }; 99 | 100 | const fetchSemesters = async () => { 101 | const response = await fetch(`data/semesters.json`); 102 | const data = await response.json(); 103 | const [currentSemester] = data; 104 | 105 | setSemesters(data); 106 | setSelectedSemester(currentSemester); 107 | }; 108 | 109 | const fetchOfferings = async () => { 110 | const response = await fetch( 111 | `data/offerings/${selectedSemester.code}.json` 112 | ); 113 | 114 | const data = await response.json(); 115 | const reducedOfferings = Object.entries(data).reduce(reduceOfferings, []); 116 | 117 | setOfferings(reducedOfferings); 118 | }; 119 | 120 | useUpdateEffect(() => { 121 | resetStates(); 122 | fetchOfferings(); 123 | }, [selectedSemester]); 124 | 125 | useUpdateEffect(() => { 126 | if (offerings) { 127 | const preparedSchedules = prepareSchedules( 128 | excludedTimeslots, 129 | selectedCourses 130 | ); 131 | setSchedules(preparedSchedules); 132 | setSelectedSchedule(0); 133 | } 134 | }, [offerings, excludedTimeslots, selectedCourses]); 135 | 136 | useEffectOnce(() => { 137 | fetchSemesters(); 138 | 139 | if (process.env.NODE_ENV === "production") { 140 | ReactGA.initialize(process.env.REACT_APP_GA_TRACKING_ID); 141 | ReactGA.send({ 142 | hitType: "pageview", 143 | page: window.location.pathname + window.location.search, 144 | }); 145 | } 146 | 147 | if (!isUserGuideCompleted) { 148 | setIsUserGuideOpened(true); 149 | } 150 | }); 151 | 152 | useUpdateEffect(() => { 153 | if (isUserGuideOpened && offerings.length) { 154 | storeStates(); 155 | 156 | if (selectedCourses.length === 0) { 157 | setSelectedCourses([offerings[0]]); 158 | } 159 | 160 | if (!isThereAnyExcludedTimeSlot) { 161 | setExcludedTimeslots({ 26: true, 31: true, 36: true }); 162 | } 163 | } 164 | }, [isUserGuideOpened, offerings]); 165 | 166 | useUpdateEffect(() => { 167 | if (schedules.length && isUserGuideOpened && isThereAnyExcludedTimeSlot) { 168 | displayUserGuide(closeUserGuide); 169 | } 170 | }, [schedules]); 171 | 172 | return ( 173 | <> 174 | 175 | 176 | 177 | 178 | 185 | 186 | 187 | 194 | 195 | 196 | 202 | Buy me a coffee 207 | Buy me a coffee 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 0, 221 | onCourseEdit: () => setIsInstructorSelectorOpened(true), 222 | onCourseRemove: removeCourse, 223 | }} 224 | /> 225 | 226 | 230 | 231 | 232 | 236 | email 237 | 238 | setIsUserGuideOpened(true)} 240 | data-html2canvas-ignore 241 | > 242 | help 243 | 244 | 250 | photo_camera 251 | 252 | 253 | 254 | 255 | 256 | 257 | 265 | 266 | 267 | 268 | 269 | setSelectedSchedule(i - 1)} 274 | data-html2canvas-ignore 275 | /> 276 | 277 | setIsInstructorSelectorOpened(false)} 282 | /> 283 | 284 | 285 | 286 | 294 | 295 | 299 | coloringpagespro.com 300 | 301 | 302 | 303 | 304 | ); 305 | }; 306 | 307 | export default App; 308 | -------------------------------------------------------------------------------- /public/data/offerings/20013.json: -------------------------------------------------------------------------------- 1 | {"AMER":{"AMER 207":{"name":"American Texts and Contexts I","sections":{"1":{"instructor":"Edward John Lundy","schedule":{"0":"N/A","2":"N/A","3":"N/A","7":"N/A","9":"N/A","10":"N/A","15":"N/A","22":"N/A"}}}},"AMER 208":{"name":"American Texts and Contexts II","sections":{"1":{"instructor":"Muammer Şanlı","schedule":{"1":"N/A","8":"N/A","14":"N/A","16":"N/A","17":"N/A","21":"N/A","23":"N/A","24":"N/A"}}}},"AMER 374":{"name":"American Poetry","sections":{"1":{"instructor":"Muammer Şanlı","schedule":{"42":"N/A","44":"N/A","45":"N/A","49":"N/A","51":"N/A","52":"N/A"}}}},"AMER 426":{"name":"American Studies in a Global Context","sections":{"1":{"instructor":"Yasemin Alptekin-Oğuzertem","schedule":{"10":"N/A","11":"N/A","17":"N/A","18":"N/A","24":"N/A","25":"N/A"}}}},"AMER 427":{"name":"Topics in Theory for American Culture","sections":{"1":{"instructor":"Valerie Begley","schedule":{"7":"N/A","9":"N/A","14":"N/A","16":"N/A","21":"N/A","23":"N/A"}}}},"AMER 431":{"name":"American Film Noir","sections":{"1":{"instructor":"John Robert Groch","schedule":{"8":"H-235","15":"H-235","22":"H-235","38":"H-235","45":"H-235","52":"H-235"}}}},"AMER 442":{"name":"America and the Skyscraper: an Architectural History","sections":{"1":{"instructor":"Christopher Wilson","schedule":{"36":"N/A","39":"N/A","43":"N/A","46":"N/A","50":"N/A","53":"N/A"}}}},"AMER 459":{"name":"Race and Ethnicity in American Culture","sections":{"1":{"instructor":"Valerie Begley","schedule":{"35":"N/A","37":"N/A","42":"N/A","44":"N/A","49":"N/A","51":"N/A"}}}}},"BF":{"BF 131":{"name":"French Language Studies I","sections":{"1":{"instructor":"Mümtaz Kaya  Sabit Özönder","schedule":{"2":"LB-102","3":"LB-102","9":"LB-102","10":"LB-102","16":"LB-102","17":"LB-102","35":"LB-102","42":"LB-102","43":"LB-102","49":"LB-102","50":"LB-102","57":"LB-102"}}}},"BF 161":{"name":"Economics I","sections":{"1":{"instructor":"Nazmi Demir","schedule":{"44":"LA-107","45":"LA-107","51":"LA-107","52":"LA-107","58":"LA-107","59":"LA-107"}}}},"BF 205":{"name":"English-Turkish Translation","sections":{"1":{"instructor":"Ayşe Yumuk Şengül","schedule":{"24":"LB-101","25":"LB-101","31":"LB-101","32":"LB-101","38":"LB-101","39":"LB-101"}}}},"BF 231":{"name":"French for Business and Professional Use I","sections":{"1":{"instructor":"Mümtaz Kaya  Sabit Özönder","schedule":{"23":"LB-102","30":"LB-102","37":"LB-102","46":"LB-102","53":"LB-102","60":"LB-102"}}}},"BF 236":{"name":"Commercial French","sections":{"1":{"instructor":"Mümtaz Kaya  Sabit Özönder","schedule":{"4":"LB-101","11":"LB-101","18":"LB-101","22":"LB-101","29":"LB-101","36":"LB-101"}}}},"BF 251":{"name":"Principles of Accounting I","sections":{"1":{"instructor":"Aslan Kaya","schedule":{"0":"LA-103","1":"LA-103","7":"LA-103","8":"LA-103","14":"LA-103","15":"LA-103"}}}},"BF 365":{"name":"Elements of Money and Banking","sections":{"1":{"instructor":"Nazmi Demir","schedule":{"2":"LA-107","3":"LA-107","9":"LA-107","10":"LA-107","16":"LA-107","17":"LA-107"}}}},"BF 404":{"name":"French-English Translation","sections":{"1":{"instructor":"Elizabeth Saatçi","schedule":{"21":"LA-101","28":"LA-101","35":"LA-101","43":"LA-101","50":"LA-101","57":"LA-101"}}}},"BF 461":{"name":"Corporate Finance","sections":{"1":{"instructor":"Mustafa Egeli","schedule":{"12":"N/A","19":"N/A","26":"N/A","45":"LA-103","52":"LA-103","59":"LA-103"}}}},"BF 462":{"name":"Investments","sections":{"1":{"instructor":"Sedat Çilingir","schedule":{"0":"LA-107","1":"LA-107","7":"LA-107","8":"LA-107","14":"LA-107","15":"LA-107"}}}},"BF 463":{"name":"Monetary and Financial Systems","sections":{"1":{"instructor":"Okan Üçer","schedule":{"2":"LA-103","3":"LA-103","9":"LA-103","10":"LA-103","16":"LA-103","17":"LA-103"}}}},"BF 483":{"name":"Customer Services: Marketing and the Competitive Environment","sections":{"1":{"instructor":"Pınar Gür","schedule":{"11":"LA-103","18":"LA-103","25":"LA-103","39":"LA-103","46":"LA-103","53":"LA-103"}}}}},"BIM":{"BIM 108":{"name":"Elementary Business Statistics","sections":{"1":{"instructor":"Fatin Sezgin","schedule":{"18":"RB-102","25":"RB-102","32":"RB-102","35":"RB-102","42":"RB-102","49":"RB-102"}}}}},"CS":{"CS 102":{"name":"Algorithms and Programming II","sections":{"1":{"instructor":"Uğur Güdükbay","schedule":{"8":"N/A","10":"N/A","15":"N/A","17":"N/A","22":"N/A","24":"N/A","35":"B-304","37":"B-304","42":"B-304","44":"B-304","49":"B-304","51":"B-304"}}}}},"CTIS":{"CTIS 122":{"name":"Elementary Data Structures","sections":{"1":{"instructor":"Erkan Uçar","schedule":{"9":"N/A","11":"N/A","15":"N/A","16":"N/A","17":"N/A","18":"N/A","22":"N/A","23":"N/A","24":"N/A","25":"N/A","36":"N/A","38":"N/A","43":"N/A","45":"N/A"}}}},"CTIS 124":{"name":"Advanced Algorithms","sections":{"1":{"instructor":"Güray Erus","schedule":{"0":"N/A","1":"N/A","3":"N/A","7":"N/A","8":"N/A","10":"N/A","14":"N/A","21":"N/A"}}}},"CTIS 128":{"name":"Mathematics II","sections":{"1":{"instructor":"Bülent Gündüz","schedule":{"35":"N/A","37":"N/A","42":"N/A","44":"N/A","49":"N/A","51":"N/A","56":"N/A","58":"N/A"}}}}},"ECON":{"ECON 101":{"name":"Introduction to Economics I","sections":{"1":{"instructor":"Mehmet Polat","schedule":{"7":"T-173","9":"T-173","11":"T-173","14":"T-173","16":"T-173","18":"T-173","21":"T-173","23":"T-173","25":"T-173"}},"90":{"instructor":"Mehmet Polat","schedule":{"42":"A-Z25","44":"A-Z25","46":"A-Z25","49":"A-Z25","51":"A-Z25","53":"A-Z25","56":"A-Z25","58":"A-Z25","60":"A-Z25"}}}},"ECON 102":{"name":"Introduction to Economics II","sections":{"1":{"instructor":"Mehmet Polat","schedule":{"42":"A-Z25","44":"A-Z25","46":"A-Z25","49":"A-Z25","51":"A-Z25","53":"A-Z25","56":"A-Z25","58":"A-Z25","60":"A-Z25"}},"90":{"instructor":"Mehmet Polat","schedule":{"7":"T-173","9":"T-173","11":"T-173","14":"T-173","16":"T-173","18":"T-173","21":"T-173","23":"T-173","25":"T-173"}}}},"ECON 201":{"name":"Economic Theory I","sections":{"1":{"instructor":"Savaş Alpay","schedule":{"8":"T-172","10":"T-172","15":"T-172","17":"T-172","22":"T-172","24":"T-172"}},"2":{"instructor":"Syed Fahri Mahmud","schedule":{"50":"A-Z27","52":"A-Z27","57":"A-Z27","59":"A-Z27","64":"A-Z27","66":"A-Z27"}},"90":{"instructor":"Neil Lewis Arnwine","schedule":{"8":"A-Z27","10":"A-Z27","15":"A-Z27","17":"A-Z27","22":"A-Z27","24":"A-Z27"}}}},"ECON 202":{"name":"Economic Theory II","sections":{"1":{"instructor":"Neil Lewis Arnwine","schedule":{"8":"A-Z27","10":"A-Z27","15":"A-Z27","17":"A-Z27","22":"A-Z27","24":"A-Z27"}},"2":{"instructor":"Neil Lewis Arnwine","schedule":{"43":"T-172","45":"T-172","50":"T-172","52":"T-172","57":"T-172","59":"T-172"}},"90":{"instructor":"Syed Fahri Mahmud","schedule":{"50":"A-Z27","52":"A-Z27","57":"A-Z27","59":"A-Z27","64":"A-Z27","66":"A-Z27"}}}},"ECON 221":{"name":"Introduction to Probability and Statistics I","sections":{"1":{"instructor":"Savaş Alpay","schedule":{"36":"T-173","38":"T-173","43":"T-173","45":"T-173","50":"T-173","52":"T-173"}}}},"ECON 222":{"name":"Introduction to Probability and Statistics II","sections":{"1":{"instructor":"Syed Fahri Mahmud","schedule":{"15":"A-Z25","17":"A-Z25","22":"A-Z25","24":"A-Z25","29":"A-Z25","31":"A-Z25"}}}}},"ELIT":{"ELIT 137":{"name":"English History I (to the Restoration)","sections":{"1":{"instructor":"Didem Yılmaz","schedule":{"45":"H-336","46":"H-336","52":"H-336","53":"H-336","59":"H-336","60":"H-336"}}}},"ELIT 223":{"name":"World Mythology","sections":{"1":{"instructor":"Himmet Umunç","schedule":{"3":"H-334","4":"H-334","10":"H-334","11":"H-334","17":"H-334","18":"H-334"}}}},"ELIT 242":{"name":"Introduction to Drama","sections":{"1":{"instructor":"Sita Schutt","schedule":{"28":"H-334","29":"H-334","30":"H-334","35":"H-334","36":"H-334","37":"H-334"}}}},"ELIT 270":{"name":"Poetry","sections":{"1":{"instructor":"Gül Kurtuluş","schedule":{"38":"H-334","39":"H-334","45":"H-334","46":"H-334","52":"H-334","53":"H-334"}}}},"ELIT 355":{"name":"Major Writers of the Renaissance","sections":{"1":{"instructor":"M. Hamit Çalışkan","schedule":{"0":"H-335","1":"H-335","2":"H-335","7":"H-335","8":"H-335","9":"N/A","14":"H-335"}}}},"ELIT 356":{"name":"Major Writers of the Neoclassical Period","sections":{"1":{"instructor":"M. Hamit Çalışkan","schedule":{"44":"H-335","49":"H-335","50":"H-335","51":"H-335","56":"H-335","57":"H-335","58":"H-335"}}}},"ELIT 441":{"name":"British Drama I (from the Restoration to the 1950s)","sections":{"1":{"instructor":"Gül Kurtuluş","schedule":{"42":"H-233","43":"H-233","49":"H-233","50":"H-233","56":"H-233","57":"H-233"}}}},"ELIT 456":{"name":"Major Writers of the Victorian Period","sections":{"1":{"instructor":"Himmet Umunç","schedule":{"45":"H-233","46":"H-233","52":"H-233","53":"H-233","59":"H-233","60":"H-233"}}}},"ELIT 471":{"name":"Romantic Poetry","sections":{"1":{"instructor":"Anthony Lake","schedule":{"3":"H-233","4":"H-233","10":"H-233","11":"H-233","17":"H-233","18":"H-233"}}}}},"ELS":{"ELS 204":{"name":"Advanced English IV","sections":{"1":{"instructor":"Resmiye Koç  Semra Durmaz Güran","schedule":{"15":"N/A","17":"N/A","22":"N/A","24":"N/A","35":"N/A","37":"N/A","42":"N/A","44":"N/A"}}}}},"ENG":{"ENG 101":{"name":"English and Composition I","sections":{"1":{"instructor":"Mehmet Demirkaya","schedule":{"7":"N/A","8":"N/A","9":"N/A","10":"N/A","11":"N/A","14":"N/A","15":"N/A","16":"N/A","17":"N/A","18":"N/A"}}}},"ENG 102":{"name":"English and Composition II","sections":{"1":{"instructor":"Şule Berilgen","schedule":{"7":"SA-Z01","8":"SA-Z01","9":"SA-Z01","10":"SA-Z01","11":"SA-Z01","14":"SA-Z01","15":"SA-Z01","16":"SA-Z01","17":"SA-Z01","18":"SA-Z01"}},"2":{"instructor":"Fatma Tuğçe Arıkan","schedule":{"7":"SA-Z02","8":"SA-Z02","9":"SA-Z02","10":"SA-Z02","11":"SA-Z02","14":"SA-Z02","15":"SA-Z02","16":"SA-Z02","17":"SA-Z02","18":"SA-Z02"}},"3":{"instructor":"Fatma Başer","schedule":{"21":"B-Z06","22":"B-Z06","23":"B-Z06","24":"B-Z06","25":"B-Z06","28":"B-Z06","29":"B-Z06","30":"B-Z06","31":"B-Z06","32":"B-Z06"}},"4":{"instructor":"İklil Kaya Yıldırım","schedule":{"21":"B-Z08","22":"B-Z08","23":"B-Z08","24":"B-Z08","25":"B-Z08","28":"B-Z08","29":"B-Z08","30":"B-Z08","31":"B-Z08","32":"B-Z08"}}}},"ENG 403":{"name":"Business Communication","sections":{"1":{"instructor":"James Thurman","schedule":{"14":"N/A","16":"N/A","18":"N/A","21":"N/A","23":"N/A","25":"N/A"}}}}},"FA":{"FA 104":{"name":"Drawing II","sections":{"1":{"instructor":"Anna Krolikiewicz","schedule":{"9":"FF-Z07","16":"FF-Z07","23":"FF-Z07","37":"FF-Z07","44":"FF-Z07","51":"FF-Z07"}}}},"FA 131":{"name":"Technical Drawing and Lettering I","sections":{"1":{"instructor":"Alper Küçük","schedule":{"36":"FF-106","38":"FF-106","43":"FF-106","45":"FF-106","50":"FF-106","52":"FF-106","57":"FF-106","59":"FF-106"}}}},"FA 171":{"name":"Introduction to Art and Culture I","sections":{"1":{"instructor":"Markus Wilsing","schedule":{"35":"FF-101","39":"FF-101","42":"FF-101","46":"FF-101","49":"FF-101","53":"FF-101"}}}},"FA 172":{"name":"Introduction to Art and Culture II","sections":{"1":{"instructor":"Markus Wilsing","schedule":{"8":"FF-101","10":"FF-101","15":"FF-101","17":"FF-101","22":"FF-101","24":"FF-101"}}}},"FA 190":{"name":"Summer Practice I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"FA 213":{"name":"Introduction to Printmaking I","sections":{"1":{"instructor":"Zekiye Sarıkartal","schedule":{"8":"FC-117","15":"FC-117","22":"FC-117","36":"FC-117","43":"FC-117","50":"FC-117"}}}},"FA 217":{"name":"Introduction to Ceramics I","sections":{"1":{"instructor":"Ahmet Özsalar","schedule":{"7":"FE-101","9":"FE-101","14":"FE-101","16":"FE-101","21":"FE-101","23":"FE-101"}}}}},"HART":{"HART 239":{"name":"Latin I","sections":{"1":{"instructor":"Jean Greenhalgh","schedule":{}}}},"HART 240":{"name":"Latin II","sections":{"1":{"instructor":"Jean Greenhalgh","schedule":{}}}},"HART 300":{"name":"The Roman Empire Under Trajan","sections":{"1":{"instructor":"Julian Bennett","schedule":{}}}}},"IAED":{"IAED 244":{"name":"Building Performance: Physical Factors","sections":{"1":{"instructor":"Necmiye Yaprak Öz","schedule":{"7":"FF-101","9":"FF-101","14":"FF-101","16":"FF-101","21":"FF-101","23":"FF-101"}}}},"IAED 251":{"name":"Construction and Materials I","sections":{"1":{"instructor":"Necmiye Şule Aybar","schedule":{"36":"FF-101","38":"FF-101","43":"FF-101","45":"FF-101","50":"FF-101","52":"FF-101","57":"FF-101","59":"FF-101"}}}},"IAED 263":{"name":"History of Built Environment I","sections":{"1":{"instructor":"Elif Erdemir Türkkan","schedule":{"8":"FF-102","10":"FF-102","15":"FF-102","17":"FF-102","22":"FF-102","24":"FF-102"}}}},"IAED 351":{"name":"Detailing Studio","sections":{"1":{"instructor":"Tomris Yardımcı","schedule":{"36":"FF-105","38":"FF-105","43":"FF-105","45":"FF-105","50":"FF-105","52":"FF-105"}}}},"IAED 415":{"name":"Modular Interior Systems","sections":{"1":{"instructor":"Serpil Altay","schedule":{"8":"FF-105","10":"FF-105","15":"FF-105","17":"FF-105","22":"FF-105","24":"FF-105"}}}},"IAED 417":{"name":"Interior Design Documentation","sections":{"1":{"instructor":"Nilgün Çarkacı","schedule":{"7":"FF-105","9":"FF-105","14":"FF-105","16":"FF-105","21":"FF-105","23":"FF-105"}}}}},"IR":{"IR 201":{"name":"Computers in Social Sciences","sections":{"1":{"instructor":"Ayşe Semra Mumcu","schedule":{"9":"B-302","11":"B-302","16":"B-302","18":"B-302","23":"B-302","25":"B-302","32":"B-302","39":"B-302","46":"B-302","53":"B-302"}}}},"IR 213":{"name":"Middle East in Global Perspective","sections":{"1":{"instructor":"Mustafa Kibaroğlu","schedule":{"8":"B-112","15":"B-112","22":"B-112","45":"B-112","52":"B-112","59":"B-112"}}}},"IR 229":{"name":"Research Methods I","sections":{"1":{"instructor":"Wlodzimierz Korab-Karpowicz","schedule":{"35":"A-331","37":"A-331","42":"A-331","44":"A-331","49":"A-331","51":"A-331"}}}},"IR 315":{"name":"History of the Balkans","sections":{"1":{"instructor":"Hasan Ünal","schedule":{"8":"A-330","9":"A-330","15":"A-330","16":"A-330","22":"A-330","23":"A-330"}}}},"IR 318":{"name":"Contemporary Balkan Politics","sections":{"1":{"instructor":"Hasan Ünal","schedule":{"10":"A-330","11":"A-330","17":"A-330","18":"A-330","24":"A-330","25":"A-330"}}}},"IR 338":{"name":"Politics of International Economy","sections":{"1":{"instructor":"Paul Andrew Williams","schedule":{"14":"B-Z07","16":"B-Z07","21":"B-Z07","23":"B-Z07","28":"B-Z07","30":"B-Z07"}}}},"IR 424":{"name":"Issues in Strategy and Diplomacy","sections":{"1":{"instructor":"Mustafa Kibaroğlu","schedule":{"10":"B-112","17":"B-112","24":"B-112","43":"B-112","50":"B-112","57":"B-112"}}}},"IR 452":{"name":"Contemporary International Relations","sections":{"1":{"instructor":"Ayşe Gülgün Tuna","schedule":{"8":"T-173","10":"T-173","15":"T-173","17":"T-173","22":"T-173","24":"T-173"}}}},"IR 454":{"name":"International Environmental Politics","sections":{"1":{"instructor":"Ayşe Gülgün Tuna","schedule":{"36":"A-125","38":"A-125","43":"A-125","45":"A-125","50":"A-125","52":"A-125"}}}},"IR 466":{"name":"Classical International Relations Theory","sections":{"1":{"instructor":"Wlodzimierz Korab-Karpowicz","schedule":{"36":"A-331","38":"A-331","43":"A-331","45":"A-331","50":"A-331","52":"A-331"}}}}},"LAUD":{"LAUD 190":{"name":"Summer Practice I","sections":{"1":{"instructor":"Mehmet Hakan Erdoğ","schedule":{}}}}},"MAN":{"MAN 253":{"name":"Introduction to Computing","sections":{"1":{"instructor":"Aslı Üstüner","schedule":{"10":"MA-301","17":"MA-301","24":"B-302","31":"B-302","44":"MA-301","51":"MA-301"}}}},"MAN 254":{"name":"Introduction to Programming","sections":{"1":{"instructor":"Turgay Saracoğlu","schedule":{"9":"MA-301","16":"MA-301","23":"B-305","30":"B-305","36":"MA-301","43":"MA-301"}}}},"MAN 633":{"name":"Advanced Marketing","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"MATH":{"MATH 102":{"name":"Calculus II","sections":{"1":{"instructor":"Mefharet Kocatepe","schedule":{"0":"B-112","2":"B-112","4":"B-112","7":"B-112","9":"B-112","11":"B-112","14":"B-112","16":"B-112","18":"B-112"}}}},"MATH 106":{"name":"Introduction to Calculus II","sections":{"1":{"instructor":"Alexandre Goncharov","schedule":{"7":"SA-Z18","9":"SA-Z18","11":"SA-Z18","14":"SA-Z18","16":"SA-Z18","18":"SA-Z18","21":"SA-Z18","23":"SA-Z18","25":"SA-Z18"}}}},"MATH 240":{"name":"Differential Equations","sections":{"1":{"instructor":"Metin Gürses","schedule":{"0":"SB-Z03","2":"SB-Z03","4":"SB-Z03","7":"SB-Z03","9":"SB-Z03","11":"SB-Z03"}}}},"MATH 291":{"name":"Summer Project I","sections":{"1":{"instructor":"Azer Kerimov","schedule":{}},"2":{"instructor":"Alexandre Goncharov","schedule":{}}}},"MATH 391":{"name":"Summer Project II","sections":{"1":{"instructor":"Ali Sinan Sertöz","schedule":{}},"2":{"instructor":"Alexandre Klyachko","schedule":{}},"3":{"instructor":"Azer Kerimov","schedule":{}}}}},"PHYS":{"PHYS 546":{"name":"Solid State Theory II","sections":{"1":{"instructor":"Salim Çıracı","schedule":{}}}}},"TE":{"TE 504":{"name":"Educational Technology and Materials Development","sections":{"1":{"instructor":"Mesut Duran","schedule":{}}}},"TE 505":{"name":"Guidance","sections":{"1":{"instructor":"Dannelle Stevens","schedule":{}}}},"TE 516":{"name":"Special Teaching Methods in English","sections":{"1":{"instructor":"Deniz Kurtoğlu-Eken","schedule":{}}}}},"TEFL":{"TEFL 553":{"name":"Research Seminar III","sections":{"1":{"instructor":"Staff","schedule":{}}}},"TEFL 555":{"name":"Written Academic Discourse","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"THM":{"THM 164":{"name":"Calculus","sections":{"1":{"instructor":"Kamer Rodoplu","schedule":{"8":"RB-201","15":"RB-201","22":"RB-201","38":"RB-201","45":"RB-201","52":"RB-201"}}}},"THM 409":{"name":"Tourism Law","sections":{"1":{"instructor":"Cem Tarhan","schedule":{"7":"RE-203","14":"RE-203","21":"RE-203","37":"RE-203","44":"RE-203","51":"RE-203"}}}},"THM 415":{"name":"Finance","sections":{"1":{"instructor":"Zeliha İlhan Ertuna","schedule":{"8":"RE-206","15":"RE-206","22":"RE-206","38":"RE-206","45":"RE-206","52":"RE-206"}}}},"THM 417":{"name":"Quantitative Decision Techniques","sections":{"1":{"instructor":"Fatin Sezgin","schedule":{"9":"RB-202","16":"RB-202","23":"RB-202","39":"RB-202","46":"RB-202","53":"RB-202"}}}},"THM 419":{"name":"Tourism Management Applications","sections":{"1":{"instructor":"M.Teoman Alemdar","schedule":{"10":"RB-203","17":"RB-203","24":"RB-203","35":"RB-203","42":"RB-203","49":"RB-203"}}}},"THM 423":{"name":"Tourism Economics","sections":{"1":{"instructor":"Cem Tarhan","schedule":{"11":"RE-203","18":"RE-203","25":"RE-203","36":"RE-203","43":"RE-203","50":"RE-203"}}}}},"TRIN":{"TRIN 102":{"name":"Applied Linguistics","sections":{"1":{"instructor":"Abdulhak Hamit Sunel","schedule":{"36":"LA-114","38":"LA-114","43":"LA-114","45":"LA-114","50":"LA-114","52":"LA-114"}}}},"TRIN 103":{"name":"Comparative Grammar (French-Turkish)","sections":{"1":{"instructor":"Abdulhak Hamit Sunel","schedule":{"7":"LB-105","8":"LB-105","14":"LB-105","15":"LB-105","21":"LB-105","22":"LB-105"}}}},"TRIN 161":{"name":"Introduction to Translation","sections":{"1":{"instructor":"Meral Karagülle  Fahrettin Arslan","schedule":{"2":"LA-114","3":"LA-114","9":"LA-114","10":"LA-114","16":"LA-114","17":"LA-114","23":"LA-114","24":"LA-114"}}}},"TRIN 335":{"name":"Note-Taking and Consecutive Interpretation","sections":{"1":{"instructor":"Fahrettin Arslan  Aymil Doğan","schedule":{"8":"LA-115","9":"LA-115","10":"LA-115","15":"LA-115","16":"LA-115","17":"LA-115","22":"LA-115","23":"LA-115","24":"LA-115","36":"LA-115","43":"LA-115","50":"LA-115"}}}},"TRIN 363":{"name":"Specialized French-Turkish Translation III","sections":{"1":{"instructor":"Fahrettin Arslan","schedule":{"11":"LA-115","18":"LA-115","25":"LA-115","37":"LA-115","44":"LA-115","51":"LA-115"}}}}},"TURK":{"TURK 101":{"name":"Turkish I","sections":{"1":{"instructor":"Başak Berna Cordan","schedule":{"14":"T-162","21":"T-162","38":"T-162","45":"T-162"}}}},"TURK 102":{"name":"Turkish II","sections":{"1":{"instructor":"Sare Öz","schedule":{"14":"T-268","21":"T-268","38":"T-268","45":"T-268"}}}}}} -------------------------------------------------------------------------------- /public/data/offerings/20003.json: -------------------------------------------------------------------------------- 1 | {"AMER":{"AMER 207":{"name":"American Texts and Contexts I","sections":{"1":{"instructor":"Himmet Umunç","schedule":{"4":"N/A","11":"N/A","31":"N/A","35":"N/A","37":"N/A","38":"N/A","42":"N/A","44":"N/A"}}}},"AMER 208":{"name":"American Texts and Contexts II","sections":{"1":{"instructor":"Himmet Umunç","schedule":{"18":"N/A","25":"N/A","29":"N/A","36":"N/A","49":"N/A","51":"N/A","56":"N/A","58":"N/A"}}}},"AMER 242":{"name":"Modern American Drama II","sections":{"1":{"instructor":"Jülide Kalınyazgan","schedule":{"50":"N/A","52":"N/A","53":"N/A","57":"N/A","59":"N/A","60":"N/A"}}}},"AMER 393":{"name":"Intellectuals and Public Culture","sections":{"1":{"instructor":"İrem Balkır","schedule":{"21":"N/A","23":"N/A","28":"N/A","30":"N/A","35":"N/A","37":"N/A"}}}},"AMER 420":{"name":"Readings in Southern Literature","sections":{"1":{"instructor":"Cecile Dianne Bunch","schedule":{"0":"N/A","2":"N/A","7":"N/A","9":"N/A","14":"N/A","16":"N/A"}}}},"AMER 427":{"name":"Topics in Theory for American Culture","sections":{"1":{"instructor":"İrem Balkır","schedule":{"42":"N/A","44":"N/A","49":"N/A","51":"N/A","56":"N/A","58":"N/A"}}}},"AMER 492":{"name":"Gender Studies in American Culture","sections":{"1":{"instructor":"Cecile Dianne Bunch","schedule":{"4":"N/A","11":"N/A","18":"N/A","32":"N/A","39":"N/A","46":"N/A"}}}}},"BF":{"BF 131":{"name":"French Language Studies I","sections":{"1":{"instructor":"Mümtaz Kaya  Sabit Özönder","schedule":{"7":"LB-102","8":"LB-102","14":"LB-102","15":"LB-102","21":"LB-102","22":"LB-102","35":"LB-102","36":"LB-102","42":"LB-102","43":"LB-102","49":"LB-102","50":"LB-102"}}}},"BF 161":{"name":"Economics I","sections":{"1":{"instructor":"Arzu Aygüneş","schedule":{"51":"LA-107","52":"LA-103","58":"LA-107","59":"LA-103","65":"LA-107","66":"LA-103"}}}},"BF 231":{"name":"French for Business and Professional Use I","sections":{"1":{"instructor":"Mümtaz Kaya","schedule":{"2":"LB-102","9":"LB-102","16":"LB-102","38":"LB-102","45":"LB-102","52":"LB-102"}}}},"BF 236":{"name":"Commercial French","sections":{"1":{"instructor":"Sabit Özönder","schedule":{"10":"LB-101","17":"LB-101","24":"LB-101","30":"LB-101","37":"LB-101","44":"LB-101"}}}},"BF 251":{"name":"Principles of Accounting I","sections":{"1":{"instructor":"Aslan Kaya","schedule":{"4":"LA-103","5":"N/A","11":"LA-103","12":"N/A","18":"LA-103","19":"N/A"}}}},"BF 252":{"name":"Principles of Accounting II","sections":{"1":{"instructor":"Aslan Kaya","schedule":{"32":"LA-107","33":"N/A","39":"LA-107","40":"N/A","46":"LA-107","47":"N/A"}}}},"BF 365":{"name":"Elements of Money and Banking","sections":{"1":{"instructor":"Nazmi Demir","schedule":{"7":"LA-107","14":"LA-107","21":"LA-107","38":"LA-107","45":"LA-107","52":"LA-107"}}}},"BF 403":{"name":"English-French Translation","sections":{"1":{"instructor":"Elizabeth Saatçi","schedule":{"8":"LA-103","9":"LA-103","15":"LA-103","16":"LA-103","22":"LA-103","23":"LA-103"}}}},"BF 404":{"name":"French-English Translation","sections":{"1":{"instructor":"Elizabeth Saatçi","schedule":{"36":"LA-103","37":"LA-103","43":"LA-103","44":"LA-103","50":"LA-103","51":"LA-103"}}}},"BF 461":{"name":"Corporate Finance","sections":{"1":{"instructor":"Mustafa Egeli","schedule":{"11":"LA-107","12":"N/A","18":"LA-107","19":"N/A","25":"LA-107","26":"N/A"}}}},"BF 462":{"name":"Investments","sections":{"1":{"instructor":"Sedat Çilingir","schedule":{"10":"LA-103","17":"LA-103","24":"LA-103","39":"LA-103","46":"LA-103","53":"LA-103"}}}},"BF 463":{"name":"Monetary and Financial Systems","sections":{"1":{"instructor":"Nazmi Demir","schedule":{"3":"LA-107","10":"LA-107","17":"LA-107","35":"LA-107","42":"LA-107","49":"LA-107"}}}}},"CHEM":{"CHEM 100":{"name":"General Chemistry","sections":{"1":{"instructor":"Ulrike Salzner","schedule":{}}}},"CHEM 101":{"name":"Principles of Chemistry I","sections":{"1":{"instructor":"Ulrike Salzner","schedule":{}}}}},"CS":{"CS 102":{"name":"Algorithms and Programming II","sections":{"1":{"instructor":"Uğur Güdükbay","schedule":{"7":"N/A","9":"N/A","14":"N/A","16":"N/A","21":"N/A","23":"N/A","36":"B-302","38":"B-302","43":"B-302","45":"B-302","50":"B-302","52":"B-302","57":"B-302","59":"B-302"}}}}},"CTIS":{"CTIS 122":{"name":"Elementary Data Structures","sections":{"1":{"instructor":"Bülent Gündüz","schedule":{"1":"N/A","2":"N/A","3":"N/A","4":"N/A","8":"N/A","9":"N/A","10":"N/A","11":"N/A","15":"N/A","16":"N/A","17":"N/A","18":"N/A","22":"N/A","24":"N/A"}}}},"CTIS 202":{"name":"Object Oriented Programming II","sections":{"1":{"instructor":"Güray Erus","schedule":{"0":"N/A","1":"N/A","2":"N/A","3":"N/A","7":"N/A","8":"N/A","9":"N/A","10":"N/A","14":"N/A","15":"N/A","16":"N/A","17":"N/A","21":"N/A","23":"N/A"}}}},"CTIS 407":{"name":"Visual Programming","sections":{"1":{"instructor":"Duygu Albayrak","schedule":{"0":"N/A","7":"N/A","14":"N/A","21":"N/A","36":"N/A","37":"N/A","43":"N/A","44":"N/A"}}}}},"ECON":{"ECON 101":{"name":"Introduction to Economics I","sections":{"1":{"instructor":"Savaş Alpay","schedule":{"7":"T-173","9":"T-173","11":"T-173","14":"T-173","16":"T-173","18":"T-173","21":"T-173","23":"T-173","25":"T-173"}},"90":{"instructor":"Mehmet Polat","schedule":{"42":"T-172","44":"T-172","46":"T-172","49":"T-172","51":"T-172","53":"T-172","56":"T-172","58":"T-172","60":"T-172"}}}},"ECON 102":{"name":"Introduction to Economics II","sections":{"1":{"instructor":"Mehmet Polat","schedule":{"7":"T-172","9":"T-172","11":"T-172","14":"T-172","16":"T-172","18":"T-172","21":"T-172","23":"T-172","25":"T-172"}},"90":{"instructor":"Ahmet Fettahoğlu","schedule":{"42":"T-173","44":"T-173","46":"T-173","49":"T-173","51":"T-173","53":"T-173","56":"T-173","58":"T-173","60":"T-173"}}}},"ECON 201":{"name":"Economic Theory I","sections":{"1":{"instructor":"Syed Fahri Mahmud","schedule":{"43":"A-125","45":"A-125","50":"A-125","52":"A-125","57":"A-125","59":"A-125"}},"2":{"instructor":"Syed Fahri Mahmud","schedule":{"8":"A-125","10":"A-125","15":"A-125","17":"A-125","22":"A-125","24":"A-125"}},"90":{"instructor":"Neil Lewis Arnwine","schedule":{"8":"A-Z27","10":"A-Z27","15":"A-Z27","17":"A-Z27","22":"A-Z27","24":"A-Z27"}}}},"ECON 202":{"name":"Economic Theory II","sections":{"1":{"instructor":"Neil Lewis Arnwine","schedule":{"8":"A-Z27","10":"A-Z27","15":"A-Z27","17":"A-Z27","22":"A-Z27","24":"A-Z27"}},"2":{"instructor":"Staff","schedule":{"43":"A-Z27","45":"A-Z27","50":"A-Z27","52":"A-Z27","57":"A-Z27","59":"A-Z27"}},"90":{"instructor":"Syed Fahri Mahmud","schedule":{"43":"A-125","45":"A-125","50":"A-125","52":"A-125","57":"A-125","59":"A-125"}}}}},"ELIT":{"ELIT 114":{"name":"Critical Reading","sections":{"1":{"instructor":"Rüçhan Kayalar","schedule":{"7":"H-332","8":"H-332","9":"H-332","14":"H-332","15":"H-332","16":"H-332"}}}},"ELIT 137":{"name":"English History I (to the Restoration)","sections":{"1":{"instructor":"Birtane Karanakçı","schedule":{"49":"H-332","50":"H-332","51":"H-332","56":"H-332","57":"H-332","58":"H-332"}}}},"ELIT 138":{"name":"English History II (to Present)","sections":{"1":{"instructor":"Mine Özyurt Kılıç","schedule":{"52":"H-332","53":"H-332","59":"H-332","60":"H-332","66":"H-332","67":"H-332"}}}},"ELIT 201":{"name":"Essay Writing","sections":{"1":{"instructor":"Didem Yılmaz","schedule":{"2":"H-334","4":"H-334","9":"H-334","11":"H-334","16":"H-334","18":"H-334"}}}},"ELIT 214":{"name":"Research Techniques","sections":{"1":{"instructor":"Sema Taşkın","schedule":{"1":"H-334","3":"H-334","8":"H-334","10":"H-334","15":"H-334","17":"H-334"}}}},"ELIT 223":{"name":"World Mythology","sections":{"1":{"instructor":"Sema Taşkın","schedule":{"0":"H-334","7":"H-334","14":"H-334","30":"H-334","37":"H-334","44":"H-334"}}}},"ELIT 242":{"name":"Introduction to Drama","sections":{"1":{"instructor":"Gül Kurtuluş","schedule":{"29":"H-334","32":"H-334","36":"H-334","39":"H-334","43":"H-334","46":"H-334"}}}},"ELIT 281":{"name":"The Short Story","sections":{"1":{"instructor":"Rüçhan Kayalar","schedule":{"49":"H-334","50":"H-334","51":"H-334","56":"H-334","57":"H-334","58":"H-334"}}}},"ELIT 355":{"name":"Major Writers of the Renaissance","sections":{"1":{"instructor":"Birtane Karanakçı","schedule":{"28":"H-335","29":"H-335","30":"H-335","35":"H-335","36":"H-335","37":"H-335"}}}},"ELIT 356":{"name":"Major Writers of the Neoclassical Period","sections":{"1":{"instructor":"M. Hamit Çalışkan","schedule":{"49":"H-335","50":"H-335","51":"H-335","56":"H-335","57":"H-335","58":"H-335"}}}},"ELIT 442":{"name":"British Drama II (from the 1950s to present)","sections":{"1":{"instructor":"M. Hamit Çalışkan","schedule":{"28":"H-233","29":"H-233","30":"H-233","35":"H-233","36":"H-233","37":"H-233"}}}},"ELIT 456":{"name":"Major Writers of the Victorian Period","sections":{"1":{"instructor":"Michael B. Jasper","schedule":{"49":"H-233","50":"H-233","51":"H-233","56":"H-233","57":"H-233","58":"H-233"}}}},"ELIT 471":{"name":"Romantic Poetry","sections":{"1":{"instructor":"Anthony Lake","schedule":{"4":"H-233","11":"H-233","18":"H-233","31":"H-233","38":"H-233","45":"H-233"}}}}},"ENG":{"ENG 101":{"name":"English and Composition I","sections":{"2":{"instructor":"Fatma Tuğçe Arıkan","schedule":{"14":"N/A","15":"N/A","16":"N/A","17":"N/A","18":"N/A","21":"N/A","22":"N/A","23":"N/A","24":"N/A","25":"N/A"}},"3":{"instructor":"Şenol Bezci","schedule":{"28":"SA-Z20","29":"SA-Z20","30":"SA-Z20","31":"SA-Z20","32":"SA-Z20","35":"SA-Z20","36":"SA-Z20","37":"SA-Z20","38":"SA-Z20","39":"SA-Z20"}}}},"ENG 102":{"name":"English and Composition II","sections":{"1":{"instructor":"Ersin Soylu","schedule":{"14":"SA-Z01","15":"SA-Z01","16":"SA-Z01","17":"SA-Z01","18":"SA-Z01","21":"SA-Z01","22":"SA-Z01","23":"SA-Z01","24":"SA-Z01","25":"SA-Z01"}},"2":{"instructor":"Mehmet Demirkaya","schedule":{"14":"SA-Z02","15":"SA-Z02","16":"SA-Z02","17":"SA-Z02","18":"SA-Z02","21":"SA-Z02","22":"SA-Z02","23":"SA-Z02","24":"SA-Z02","25":"SA-Z02"}},"3":{"instructor":"Hümeyra Başol Çetin","schedule":{"28":"N/A","29":"N/A","30":"N/A","31":"N/A","32":"N/A","35":"N/A","36":"N/A","37":"N/A","38":"N/A","39":"N/A"}},"4":{"instructor":"Semih İrfaner","schedule":{"28":"SA-Z01","29":"SA-Z01","30":"SA-Z01","31":"SA-Z01","32":"SA-Z01","35":"SA-Z01","36":"SA-Z01","37":"SA-Z01","38":"SA-Z01","39":"SA-Z01"}},"5":{"instructor":"İsmail Erton","schedule":{"28":"SA-Z02","29":"SA-Z02","30":"SA-Z02","31":"SA-Z02","32":"SA-Z02","35":"SA-Z02","36":"SA-Z02","37":"SA-Z02","38":"SA-Z02","39":"SA-Z02"}}}}},"FA":{"FA 131":{"name":"Technical Drawing and Lettering I","sections":{"1":{"instructor":"Necmiye Yaprak Öz","schedule":{"35":"FF-109","38":"FF-109","42":"FF-109","45":"FF-109","49":"FF-109","52":"FF-109","56":"FF-109","59":"FF-109"}}}},"FA 132":{"name":"Technical Drawing and Lettering II","sections":{"1":{"instructor":"Alper Küçük","schedule":{"35":"FF-107","38":"FF-107","42":"FF-107","45":"FF-107","49":"FF-107","52":"FF-107","56":"FF-107","59":"FF-107"}}}},"FA 171":{"name":"Introduction to Art and Culture I","sections":{"1":{"instructor":"Christopher Wilson","schedule":{"9":"FF-Z13","16":"FF-Z13","23":"FF-Z13","39":"FF-Z13","46":"FF-Z13","53":"FF-Z13"}}}},"FA 213":{"name":"Introduction to Printmaking I","sections":{"1":{"instructor":"Zekiye Sarıkartal","schedule":{"37":"FC-117","39":"FC-117","44":"FC-117","46":"FC-117","51":"FC-117","53":"FC-117"}}}}},"HART":{"HART 352":{"name":"Monuments of Rome","sections":{"1":{"instructor":"Staff","schedule":{}}}},"HART 490":{"name":"Supervised Study","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"HCIV":{"HCIV 101":{"name":"History of Civilization I","sections":{"1":{"instructor":"David E. Thornton","schedule":{"0":"A-127","2":"A-127","7":"A-127","9":"A-127","14":"A-127","16":"A-127"}}}},"HCIV 102":{"name":"History of Civilization II","sections":{"1":{"instructor":"David E. Thornton","schedule":{"35":"A-127","37":"A-127","42":"A-127","44":"A-127","49":"A-127","51":"A-127"}}}}},"HUM":{"HUM 111":{"name":"Cultures Civilizations and Ideas I","sections":{"1":{"instructor":"Geoffrey Scott Bowe","schedule":{"8":"N/A","10":"N/A","15":"N/A","17":"N/A","22":"N/A","24":"N/A","29":"N/A","31":"N/A"}}}}},"IAED":{"IAED 244":{"name":"Building Performance: Physical Factors","sections":{"1":{"instructor":"Necmiye Yaprak Öz","schedule":{"8":"FF-101","11":"FF-101","15":"FF-101","18":"FF-101","22":"FF-101","25":"FF-101"}}}},"IAED 251":{"name":"Construction and Materials I","sections":{"1":{"instructor":"Mehmet Turhan Kayasü","schedule":{"0":"N/A","3":"N/A","7":"N/A","10":"N/A","14":"N/A","17":"N/A","21":"N/A","24":"N/A"}}}},"IAED 263":{"name":"History of Built Environment I","sections":{"1":{"instructor":"Elif Erdemir Türkkan","schedule":{"35":"FF-101","37":"FF-101","42":"FF-101","44":"FF-101","49":"FF-101","51":"FF-101"}}}},"IAED 264":{"name":"History of Built Environment II","sections":{"1":{"instructor":"Elif Erdemir Türkkan","schedule":{"36":"FF-101","38":"FF-101","43":"FF-101","45":"FF-101","50":"FF-101","52":"FF-101"}}}},"IAED 290":{"name":"Summer Practice I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"IAED 315":{"name":"Computerized Presentation Techniques","sections":{"1":{"instructor":"Tijen Sonkan Türkkan","schedule":{}}}},"IAED 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Staff","schedule":{}}}},"IAED 463":{"name":"History of Furniture","sections":{"1":{"instructor":"Serpil Altay","schedule":{"9":"FF-102","16":"FF-102","23":"FF-102","39":"FF-102","46":"FF-102","53":"FF-102"}}}}},"IE":{"IE 299":{"name":"Summer Training I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"IE 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Staff","schedule":{}}}},"IE 532":{"name":"Decision Analysis","sections":{"1":{"instructor":"Staff","schedule":{}}}},"IE 578":{"name":"Location Models","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"IR":{"IR 203":{"name":"International Relations I","sections":{"1":{"instructor":"Ayşe Gülgün Tuna","schedule":{"8":"A-330","10":"A-330","15":"A-330","17":"A-330","22":"A-330","24":"A-330"}}}},"IR 204":{"name":"International Relations II","sections":{"1":{"instructor":"Ayşe Gülgün Tuna","schedule":{"36":"A-329","38":"A-329","43":"A-329","45":"A-329","50":"A-329","52":"A-329"}}}},"IR 213":{"name":"Middle East in Global Perspective","sections":{"1":{"instructor":"Mustafa Kibaroğlu","schedule":{"8":"A-329","9":"A-329","15":"A-329","16":"A-329","22":"A-329","23":"A-329"}}}},"IR 315":{"name":"History of the Balkans","sections":{"1":{"instructor":"Hasan Ünal","schedule":{"3":"A-229","4":"A-229","10":"A-229","11":"A-229","17":"A-229","18":"A-229"}}}},"IR 318":{"name":"Contemporary Balkan Politics","sections":{"1":{"instructor":"Hasan Ünal","schedule":{"0":"A-229","1":"A-229","7":"A-229","8":"A-229","14":"A-229","15":"A-229"}}}},"IR 424":{"name":"Issues in Strategy and Diplomacy","sections":{"1":{"instructor":"Mustafa Kibaroğlu","schedule":{"36":"A-229","37":"A-229","43":"A-229","44":"A-229","50":"A-229","51":"A-229"}}}}},"LAUD":{"LAUD 190":{"name":"Summer Practice I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"LAUD 390":{"name":"Summer Practice III","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"MAN":{"MAN 253":{"name":"Introduction to Computing","sections":{"1":{"instructor":"İsmail İpek","schedule":{"8":"MA-104","9":"MA-104","15":"MA-104","16":"MA-104","22":"MA-104","23":"MA-104","36":"MA-104","43":"MA-104","50":"MA-104"}}}},"MAN 254":{"name":"Introduction to Programming","sections":{"1":{"instructor":"Hilmi Öncül","schedule":{"10":"MA-105","11":"MA-105","17":"MA-105","18":"MA-105","24":"MA-105","25":"MA-105","38":"MA-105","45":"MA-105","52":"MA-105"}}}},"MAN 631":{"name":"Marketing Theory","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"MATH":{"MATH 102":{"name":"Calculus II","sections":{"1":{"instructor":"Ali Sinan Sertöz","schedule":{"0":"SA-Z04","2":"SA-Z04","4":"SA-Z04","7":"SA-Z04","9":"SA-Z04","11":"SA-Z04","14":"SA-Z04","16":"SA-Z04","18":"SA-Z04"}}}},"MATH 106":{"name":"Introduction to Calculus II","sections":{"1":{"instructor":"Alexandre Goncharov","schedule":{"7":"SA-Z18","9":"SA-Z18","11":"SA-Z18","14":"SA-Z18","16":"SA-Z18","18":"SA-Z18","21":"SA-Z18","23":"SA-Z18","25":"SA-Z18"}}}},"MATH 291":{"name":"Summer Project I","sections":{"1":{"instructor":"Ali Sinan Sertöz","schedule":{}}}},"MATH 391":{"name":"Summer Project II","sections":{"1":{"instructor":"Alexandre Klyachko","schedule":{}}}}},"MBG":{"MBG 105":{"name":"Principles of Biology","sections":{"1":{"instructor":"M. Cengiz Yakıcıer","schedule":{"35":"SB-Z10","37":"SB-Z10","42":"SB-Z10","44":"SB-Z10","49":"SB-Z10","51":"SB-Z10"}}}},"MBG 110":{"name":"Introduction to Modern Biology","sections":{"1":{"instructor":"M. Cengiz Yakıcıer","schedule":{"35":"SB-Z10","37":"SB-Z10","42":"SB-Z10","44":"SB-Z10","49":"SB-Z10","51":"SB-Z10"}}}},"MBG 615":{"name":"Recent Advances in Molecular Biology","sections":{"1":{"instructor":"Mehmet Öztürk","schedule":{}}}}},"MUS":{"MUS 776":{"name":"Composition - Solfege IV","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"TE":{"TE 504":{"name":"Educational Technology and Materials Development","sections":{"1":{"instructor":"Mesut Duran","schedule":{"0":"B-207","1":"B-207","2":"B-207","3":"B-207","4":"B-207","7":"B-207","8":"B-207","9":"B-207","10":"B-207","11":"B-207"}}}},"TE 505":{"name":"Guidance","sections":{"1":{"instructor":"Dannelle Stevens","schedule":{"14":"B-207","15":"B-207","16":"B-207","17":"B-207","18":"B-207","21":"B-207","22":"B-207","23":"B-207","24":"B-207","25":"B-207"}}}}},"TEFL":{"TEFL 553":{"name":"Research Seminar III","sections":{"1":{"instructor":"Hossein Nassaji","schedule":{}}}},"TEFL 555":{"name":"Written Academic Discourse","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"THM":{"THM 164":{"name":"Calculus","sections":{"1":{"instructor":"Kamer Rodoplu","schedule":{"8":"RB-203","15":"RB-203","22":"RB-203","38":"RB-203","45":"RB-203","52":"RB-203"}}}},"THM 403":{"name":"Organizational Behavior","sections":{"1":{"instructor":"Şermin Elmas","schedule":{"8":"RE-202","15":"RE-202","22":"RE-202","39":"RE-202","46":"RE-202","53":"RE-202"}}}},"THM 409":{"name":"Tourism Law","sections":{"1":{"instructor":"Cem Tarhan","schedule":{"7":"RB-206","14":"RB-206","21":"RB-206","37":"RB-206","44":"RB-206","51":"RB-206"}}}},"THM 415":{"name":"Finance","sections":{"1":{"instructor":"Cevat Ertuna","schedule":{"8":"RB-207","15":"RB-207","22":"RB-207","38":"RB-207","45":"RB-207","52":"RB-207"}}}},"THM 417":{"name":"Quantitative Decision Techniques","sections":{"1":{"instructor":"Fatin Sezgin","schedule":{"9":"RB-208","16":"RB-208","23":"RB-208","39":"RB-208","46":"RB-208","53":"RB-208"}}}},"THM 419":{"name":"Tourism Management Applications","sections":{"1":{"instructor":"M.Teoman Alemdar","schedule":{"10":"RB-201","17":"RB-201","24":"RB-201","35":"RB-201","42":"RB-201","49":"RB-201"}}}},"THM 423":{"name":"Tourism Economics","sections":{"1":{"instructor":"Cem Tarhan","schedule":{"11":"RB-206","18":"RB-206","25":"RB-206","36":"RB-206","43":"RB-206","50":"RB-206"}}}}},"TRIN":{"TRIN 103":{"name":"Comparative Grammar (French-Turkish)","sections":{"1":{"instructor":"Abdulhak Hamit Sunel","schedule":{"8":"LB-105","11":"LB-105","15":"LB-105","18":"LB-105","22":"LB-105","25":"LB-105"}}}},"TRIN 161":{"name":"Introduction to Translation","sections":{"1":{"instructor":"Aylin Bayrakçeken Akın  Abidin Emre","schedule":{"2":"LA-114","3":"LA-114","9":"LA-114","10":"LA-114","16":"LA-114","17":"LA-114","23":"LA-114","24":"LA-114"}}}},"TRIN 265":{"name":"Translation of Economic Texts (English-Turkish-French)","sections":{"1":{"instructor":"Mine Tüzüner  Abdulhak Hamit Sunel","schedule":{"35":"LA-115","37":"LA-114","42":"LA-115","44":"LA-114","49":"LA-115","51":"LA-114","56":"LA-115","58":"LA-114"}}}},"TRIN 271":{"name":"Business Communication","sections":{"1":{"instructor":"Meral Karagülle  Zeynep Karaibrahimoğlu","schedule":{"2":"LA-115","9":"LA-115","16":"LA-115","23":"LA-115","36":"LA-114","43":"LA-114","50":"LA-114","57":"LA-114"}}}},"TRIN 335":{"name":"Note-Taking and Consecutive Interpretation","sections":{"1":{"instructor":"Tanju İnal  Aymil Doğan","schedule":{"8":"LA-115","9":"LB-105","10":"LB-105","11":"LA-114","15":"LA-115","16":"LB-105","17":"LB-105","18":"LA-114","22":"LA-115","23":"LB-105","24":"LB-105","25":"LA-114"}}}},"TRIN 363":{"name":"Specialized French-Turkish Translation III","sections":{"1":{"instructor":"Abdulhak Hamit Sunel","schedule":{"7":"LA-115","14":"LA-115","21":"LA-115","37":"LA-115","44":"LA-115","51":"LA-115"}}}}},"TURK":{"TURK 102":{"name":"Turkish II","sections":{"1":{"instructor":"Ahmet Özer","schedule":{"14":"T-162","21":"T-162","38":"T-162","45":"T-162"}}}},"TURK 403":{"name":"Turkish Grammar I","sections":{"1":{"instructor":"Hamza Zülfikar","schedule":{"35":"B-207","36":"B-207","37":"B-207","38":"N/A","39":"N/A","42":"B-207","43":"B-207","44":"B-207","45":"N/A","46":"N/A"}}}},"TURK 404":{"name":"Turkish Grammar II","sections":{"1":{"instructor":"Zuhal Kargi Ölmez","schedule":{"35":"B-207","36":"B-207","37":"B-207","38":"N/A","39":"N/A","42":"B-207","43":"B-207","44":"B-207","45":"N/A","46":"N/A"}}}}}} -------------------------------------------------------------------------------- /public/data/offerings/20023.json: -------------------------------------------------------------------------------- 1 | {"AMER":{"AMER 208":{"name":"American Texts and Contexts II","sections":{"1":{"instructor":"Muammer Şanlı","schedule":{"0":"N/A","2":"N/A","7":"N/A","9":"N/A","15":"N/A","17":"N/A","22":"N/A","24":"N/A"}}}},"AMER 383":{"name":"American Novel to 1900","sections":{"1":{"instructor":"Yasemin Alptekin-Oğuzertem","schedule":{"21":"N/A","23":"N/A","25":"N/A","28":"N/A","30":"N/A","32":"N/A"}}}},"AMER 384":{"name":"American Novel From 1900","sections":{"1":{"instructor":"Yasemin Alptekin-Oğuzertem","schedule":{"42":"N/A","44":"N/A","46":"N/A","49":"N/A","51":"N/A","53":"N/A"}}}},"AMER 426":{"name":"American Studies in a Global Context","sections":{"1":{"instructor":"İrem Balkır","schedule":{"29":"N/A","35":"N/A","36":"N/A","42":"N/A","43":"N/A","49":"N/A"}}}},"AMER 432":{"name":"Photography in American History","sections":{"1":{"instructor":"Catherine M. Sampsell","schedule":{"2":"N/A","3":"N/A","9":"N/A","10":"N/A","16":"N/A","17":"N/A"}}}},"AMER 442":{"name":"America and the Skyscraper: an Architectural History","sections":{"1":{"instructor":"Christopher Wilson","schedule":{"21":"N/A","23":"N/A","25":"N/A","28":"N/A","30":"N/A","32":"N/A"}}}},"AMER 459":{"name":"Race and Ethnicity in American Culture","sections":{"1":{"instructor":"Catherine M. Sampsell","schedule":{"44":"N/A","45":"N/A","51":"N/A","52":"N/A","58":"N/A","59":"N/A"}}}},"AMER 492":{"name":"Gender Studies in American Culture","sections":{"1":{"instructor":"İrem Balkır","schedule":{"0":"N/A","1":"N/A","7":"N/A","8":"N/A","14":"N/A","15":"N/A"}}}}},"BF":{"BF 131":{"name":"French Language Studies I","sections":{"1":{"instructor":"Sabit Özönder","schedule":{"2":"LB-102","3":"LB-102","9":"LB-102","10":"LB-102","16":"LB-102","17":"LB-102","35":"LB-102","36":"LB-102","42":"LB-102","43":"LB-102","49":"LB-102","50":"LB-102"}}}},"BF 161":{"name":"Economics I","sections":{"1":{"instructor":"Nazmi Demir","schedule":{"44":"LA-107","45":"LA-107","51":"LA-107","52":"LA-107","58":"LA-107","59":"LA-107"}}}},"BF 205":{"name":"English-Turkish Translation","sections":{"1":{"instructor":"Ayşe Yumuk Şengül","schedule":{"24":"LB-101","25":"LB-101","31":"LB-101","32":"LB-101","38":"LB-101","39":"LB-101"}}}},"BF 231":{"name":"French for Business and Professional Use I","sections":{"1":{"instructor":"Mümtaz Kaya","schedule":{"4":"LB-102","11":"LB-102","18":"LB-102","23":"LB-102","30":"LB-102","37":"LB-102"}}}},"BF 251":{"name":"Principles of Accounting I","sections":{"1":{"instructor":"Aslan Kaya","schedule":{"0":"LA-103","1":"LA-103","7":"LA-103","8":"LA-103","14":"LA-103","15":"LA-103"}}}},"BF 332":{"name":"French for Business and Professional Use III","sections":{"1":{"instructor":"Christine Özcan","schedule":{"1":"LB-101","8":"LB-101","15":"LB-101","44":"LB-101","51":"LB-101","58":"LB-101"}}}},"BF 365":{"name":"Elements of Money and Banking","sections":{"1":{"instructor":"Nazmi Demir","schedule":{"2":"LA-107","3":"LA-107","9":"LA-107","10":"LA-107","16":"LA-107","17":"LA-107"}}}},"BF 403":{"name":"English-French Translation","sections":{"1":{"instructor":"Elizabeth Saatçi","schedule":{"22":"LA-101","29":"LA-101","36":"LA-101","42":"LA-101","49":"LA-101","56":"LA-101"}}}},"BF 404":{"name":"French-English Translation","sections":{"1":{"instructor":"Elizabeth Saatçi","schedule":{"21":"LA-101","28":"LA-101","35":"LA-101","43":"LA-101","50":"LA-101","57":"LA-101"}}}},"BF 461":{"name":"Corporate Finance","sections":{"1":{"instructor":"Mustafa Egeli","schedule":{"0":"LB-102","7":"LB-102","12":"N/A","14":"LB-102","19":"N/A","26":"N/A"}}}},"BF 462":{"name":"Investments","sections":{"1":{"instructor":"Sedat Çilingir","schedule":{"1":"LA-107","8":"LA-107","15":"LA-107","23":"LA-107","30":"LA-107","37":"LA-107"}}}},"BF 463":{"name":"Monetary and Financial Systems","sections":{"1":{"instructor":"Şenol Babuşcu","schedule":{"42":"LA-103","43":"LA-103","49":"LA-103","50":"LA-103","56":"LA-103","57":"LA-103"}}}},"BF 483":{"name":"Customer Services: Marketing and the Competitive Environment","sections":{"1":{"instructor":"Pınar Gür","schedule":{"11":"LA-107","18":"LA-107","25":"LA-107","39":"LA-107","46":"LA-107","53":"LA-107"}}}}},"BIM":{"BIM 107":{"name":"Elements of Business Mathematics","sections":{"1":{"instructor":"Ayşegül Altaban","schedule":{"36":"RB-102","43":"RB-102","44":"RB-102","50":"RB-102","51":"RB-102","58":"RB-102","65":"RB-102"}}}},"BIM 108":{"name":"Elementary Business Statistics","sections":{"1":{"instructor":"Fatin Sezgin","schedule":{}}}},"BIM 498":{"name":"Selected Topics in Information Management","sections":{"1":{"instructor":"Arzu Sibel İkinci","schedule":{}}}}},"CS":{"CS 102":{"name":"Algorithms and Programming II","sections":{"1":{"instructor":"Uğur Güdükbay","schedule":{"8":"EB-201","10":"EB-201","15":"EB-201","17":"EB-201","22":"EB-201","24":"EB-201","42":"B-304","44":"B-202","49":"B-304","51":"B-202","56":"B-304","58":"B-202"}},"2":{"instructor":"Özlem Özgü","schedule":{"35":"EB-204","36":"N/A","37":"EB-204","38":"N/A","42":"EB-204","43":"N/A","44":"EB-204","45":"N/A","49":"EB-204","50":"N/A","51":"EB-204","52":"N/A"}}}}},"CTIS":{"CTIS 152":{"name":"Algorithms and Data Structures","sections":{"1":{"instructor":"Güray Erus","schedule":{"14":"N/A","15":"N/A","16":"N/A","17":"N/A","21":"N/A","22":"N/A","23":"N/A","24":"N/A","35":"N/A","36":"N/A","37":"N/A","38":"N/A","42":"N/A","43":"N/A","44":"N/A","45":"N/A"}},"2":{"instructor":"Erkan Uçar","schedule":{"1":"N/A","2":"N/A","3":"N/A","4":"N/A","8":"N/A","9":"N/A","10":"N/A","11":"N/A","15":"N/A","16":"N/A","17":"N/A","18":"N/A","22":"N/A","23":"N/A","24":"N/A","25":"N/A"}}}},"CTIS 154":{"name":"Discrete Mathematics II","sections":{"1":{"instructor":"Duygu Albayrak","schedule":{"0":"N/A","2":"N/A","4":"N/A","7":"N/A","9":"N/A","11":"N/A"}}}}},"ECON":{"ECON 101":{"name":"Introduction to Economics I","sections":{"1":{"instructor":"Uğur Korum","schedule":{"29":"A-Z25","30":"A-Z25","31":"A-Z25","36":"A-Z25","37":"A-Z25","38":"A-Z25"}}}},"ECON 102":{"name":"Introduction to Economics II","sections":{"1":{"instructor":"Mehmet Polat","schedule":{"57":"A-Z25","58":"A-Z25","59":"A-Z25","64":"A-Z25","65":"A-Z25","66":"A-Z25"}}}},"ECON 201":{"name":"Economic Theory I","sections":{"1":{"instructor":"Staff","schedule":{"8":"A-125","10":"A-125","15":"A-125","17":"A-125","22":"A-125","24":"A-125"}}}},"ECON 202":{"name":"Economic Theory II","sections":{"1":{"instructor":"Neil Lewis Arnwine","schedule":{"43":"A-125","45":"A-125","50":"A-125","52":"A-125","57":"A-125","59":"A-125"}}}},"ECON 221":{"name":"Introduction to Probability and Statistics I","sections":{"1":{"instructor":"Syed Fahri Mahmud","schedule":{"7":"A-125","9":"A-125","14":"A-125","16":"A-125","21":"A-125","23":"A-125"}}}},"ECON 222":{"name":"Introduction to Probability and Statistics II","sections":{"1":{"instructor":"Syed Fahri Mahmud","schedule":{"42":"A-125","44":"A-125","49":"A-125","51":"A-125","56":"A-125","58":"A-125"}}}},"ECON 581":{"name":"Structure of Turkish Economy and OECD Economies","sections":{"1":{"instructor":"Mehmet Taner Yiğit","schedule":{}}}}},"ELIT":{"ELIT 137":{"name":"English History I (to the Restoration)","sections":{"1":{"instructor":"Mine Özyurt Kılıç","schedule":{"23":"H-332","30":"H-332","45":"H-332","46":"H-332","52":"H-332","53":"H-332"}}}},"ELIT 223":{"name":"World Mythology","sections":{"1":{"instructor":"Birtane Karanakçı","schedule":{"8":"H-336","9":"H-336","15":"H-336","16":"H-336","21":"H-336","28":"H-336"}}}},"ELIT 355":{"name":"Major Writers of the Renaissance","sections":{"1":{"instructor":"Birtane Karanakçı","schedule":{"49":"H-336","50":"H-336","51":"H-336","56":"H-336","57":"H-336","58":"H-336"}}}},"ELIT 356":{"name":"Major Writers of the Neoclassical Period","sections":{"1":{"instructor":"M. Hamit Çalışkan","schedule":{"16":"H-233","22":"H-233","23":"H-233","24":"H-233","29":"H-233","30":"H-233","31":"N/A"}}}},"ELIT 438":{"name":"Selected Topics","sections":{"1":{"instructor":"Rüçhan Kayalar","schedule":{"21":"H-335","22":"H-335","23":"H-335","28":"H-335","29":"H-335","30":"H-335"}}}},"ELIT 441":{"name":"British Drama I (from the Restoration to the 1950s)","sections":{"1":{"instructor":"M. Hamit Çalışkan","schedule":{"42":"H-233","43":"H-233","44":"H-233","49":"H-233","50":"H-233","51":"N/A","56":"H-233"}}}},"ELIT 456":{"name":"Major Writers of the Victorian Period","sections":{"1":{"instructor":"Anthony Lake","schedule":{"3":"H-334","4":"H-334","10":"H-334","11":"H-334","17":"H-334","18":"H-334"}}}},"ELIT 471":{"name":"Romantic Poetry","sections":{"1":{"instructor":"Sema Taşkın","schedule":{"3":"H-335","4":"H-335","10":"H-335","11":"H-335","17":"H-335","18":"H-335"}}}},"ELIT 474":{"name":"20th Century Poetry","sections":{"1":{"instructor":"Sema Taşkın","schedule":{"0":"H-335","1":"H-335","7":"H-335","8":"H-335","14":"H-335","15":"H-335"}}}}},"ELS":{"ELS 112":{"name":"English for Academic Purposes II","sections":{"1":{"instructor":"Tuba Berk","schedule":{"14":"N/A","15":"N/A","16":"N/A","17":"N/A","18":"N/A","21":"N/A","22":"N/A","23":"N/A","24":"N/A","25":"N/A"}}}}},"ENG":{"ENG 101":{"name":"English and Composition I","sections":{"1":{"instructor":"Aynur Kadıoğlu","schedule":{"7":"SA-Z02","8":"SA-Z02","9":"SA-Z02","10":"SA-Z02","11":"SA-Z02","14":"SA-Z02","15":"SA-Z02","16":"SA-Z02","17":"SA-Z02","18":"SA-Z02"}},"3":{"instructor":"Semih İrfaner","schedule":{"28":"B-Z08","29":"B-Z08","30":"B-Z08","31":"B-Z08","32":"B-Z08","35":"B-Z08","36":"B-Z08","37":"B-Z08","38":"B-Z08","39":"B-Z08"}},"4":{"instructor":"James Thurman","schedule":{"28":"B-Z05","29":"B-Z05","30":"B-Z05","31":"B-Z05","32":"B-Z05","35":"B-Z05","36":"B-Z05","37":"B-Z05","38":"B-Z05","39":"B-Z05"}}}},"ENG 102":{"name":"English and Composition II","sections":{"1":{"instructor":"Cem Akpınar","schedule":{"7":"B-Z08","8":"B-Z08","9":"B-Z08","10":"B-Z08","11":"B-Z08","14":"B-Z08","15":"B-Z08","16":"B-Z08","17":"B-Z08","18":"B-Z08"}},"2":{"instructor":"Nazan Avcıbaşıoğlu","schedule":{"21":"N/A","22":"N/A","23":"N/A","24":"N/A","25":"N/A","28":"N/A","29":"N/A","30":"N/A","31":"N/A","32":"N/A"}},"3":{"instructor":"Şenol Bezci","schedule":{"28":"SA-Z03","29":"SA-Z03","30":"SA-Z03","31":"SA-Z03","32":"SA-Z03","35":"SA-Z03","36":"SA-Z03","37":"SA-Z03","38":"SA-Z03","39":"SA-Z03"}},"4":{"instructor":"Yeşim Kuzanlı","schedule":{"21":"SA-Z02","22":"SA-Z02","23":"SA-Z02","24":"SA-Z02","25":"SA-Z02","28":"SA-Z02","29":"SA-Z02","30":"SA-Z02","31":"SA-Z02","32":"SA-Z02"}},"5":{"instructor":"İsmail Erton","schedule":{"7":"SA-Z19","8":"SA-Z19","9":"SA-Z19","10":"SA-Z19","11":"SA-Z19","14":"SA-Z19","15":"SA-Z19","16":"SA-Z19","17":"SA-Z19","18":"SA-Z19"}},"6":{"instructor":"İklil Kaya Yıldırım","schedule":{"28":"SA-Z20","29":"SA-Z20","30":"SA-Z20","31":"SA-Z20","32":"SA-Z20","35":"SA-Z20","36":"SA-Z20","37":"SA-Z20","38":"SA-Z20","39":"SA-Z20"}}}},"ENG 403":{"name":"Business Communication","sections":{"1":{"instructor":"Hümeyra Başol Çetin","schedule":{"14":"B-Z05","16":"B-Z05","18":"B-Z05","21":"B-Z05","23":"B-Z05","25":"B-Z05"}}}}},"FA":{"FA 102":{"name":"Basic Design II","sections":{"1":{"instructor":"Sibel Ertez Ural","schedule":{"8":"FF-109","10":"FF-109","15":"FF-109","17":"FF-109","22":"FF-109","24":"FF-109","36":"FF-109","38":"FF-109","43":"FF-109","45":"FF-109","50":"FF-109","52":"FF-109","57":"FF-109","59":"FF-109"}}}},"FA 132":{"name":"Technical Drawing and Lettering II","sections":{"1":{"instructor":"Alper Küçük","schedule":{"37":"FF-109","39":"FF-109","44":"FF-109","46":"FF-109","51":"FF-109","53":"FF-109","58":"FF-109","60":"FF-109"}}}},"FA 171":{"name":"Introduction to Art and Culture I","sections":{"1":{"instructor":"Markus Wilsing","schedule":{"7":"FF-101","9":"FF-101","14":"FF-101","16":"FF-101","21":"FF-101","23":"FF-101"}}}},"FA 172":{"name":"Introduction to Art and Culture II","sections":{"1":{"instructor":"Saadet Ayşe Gül Tokol","schedule":{"8":"FA-117","10":"FA-117","15":"FA-117","17":"FA-117","22":"FA-117","24":"FA-117"}}}},"FA 213":{"name":"Introduction to Printmaking I","sections":{"1":{"instructor":"Zekiye Sarıkartal","schedule":{}}}},"FA 217":{"name":"Introduction to Ceramics I","sections":{"1":{"instructor":"Ahmet Özsalar","schedule":{}}}},"FA 290":{"name":"Summer Practice II","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"GRA":{"GRA 590":{"name":"Research Topics","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"HART":{"HART 108":{"name":"Mythology","sections":{"1":{"instructor":"Jean Greenhalgh","schedule":{}}}},"HART 460":{"name":"Readings in Roman Art and Archaeology","sections":{"1":{"instructor":"Julian Bennett","schedule":{}}}}},"HUM":{"HUM 111":{"name":"Cultures Civilizations and Ideas I","sections":{"1":{"instructor":"Geoffrey Scott Bowe","schedule":{"15":"EB-203","17":"EB-203","22":"EB-203","24":"EB-203","29":"EB-203","31":"EB-203","36":"EB-203","38":"EB-203"}},"2":{"instructor":"Mustafa Nakeeb","schedule":{"15":"EB-204","17":"EB-204","22":"EB-204","24":"EB-204","29":"EB-204","31":"EB-204","36":"EB-204","38":"EB-204"}}}},"HUM 112":{"name":"Cultures Civilizations and Ideas II","sections":{"1":{"instructor":"Mustafa Nakeeb","schedule":{"14":"EB-203","16":"EB-203","21":"EB-203","23":"EB-203","28":"EB-203","30":"EB-203","35":"EB-203","37":"EB-203"}}}}},"IAED":{"IAED 202":{"name":"Interior Design Studio II","sections":{"1":{"instructor":"Maya Öztürk","schedule":{"7":"FF-305","9":"FF-305","11":"FF-305","14":"FF-305","16":"FF-305","18":"FF-305","21":"FF-305","23":"FF-305","25":"FF-305","37":"FF-305","39":"FF-305","44":"FF-305","46":"FF-305","51":"FF-305","53":"FF-305","58":"FF-305","60":"FF-305"}}}},"IAED 244":{"name":"Building Performance: Physical Factors","sections":{"1":{"instructor":"Necmiye Yaprak Öz","schedule":{"8":"FF-102","10":"FF-102","15":"FF-102","17":"FF-102","22":"FF-102","24":"FF-102"}}}},"IAED 251":{"name":"Construction and Materials I","sections":{"1":{"instructor":"Mehmet Turhan Kayasü","schedule":{"36":"FF-201","38":"FF-201","43":"FF-201","45":"FF-201","50":"FF-201","52":"FF-201","57":"FF-201","59":"FF-201"}}}},"IAED 302":{"name":"Interior Design Studio IV","sections":{"1":{"instructor":"Necmiye Şule Aybar","schedule":{"11":"FF-105","18":"FF-105","25":"FF-105","36":"FF-105","37":"FF-105","38":"FF-105","39":"FF-105","43":"FF-105","44":"FF-105","45":"FF-105","46":"FF-105","50":"FF-105","51":"FF-105","52":"FF-105","53":"FF-105","57":"FF-105","58":"FF-105","59":"FF-105","60":"FF-105"}}}},"IAED 341":{"name":"Building Performance: Codes","sections":{"1":{"instructor":"Necmiye Yaprak Öz","schedule":{"7":"FF-102","9":"FF-102","14":"FF-102","16":"FF-102","21":"FF-102","23":"FF-102"}}}},"IAED 351":{"name":"Detailing Studio","sections":{"1":{"instructor":"Tomris Yardımcı","schedule":{"8":"FF-105","10":"FF-105","15":"FF-105","17":"FF-105","22":"FF-105","24":"FF-105"}}}},"IAED 415":{"name":"Modular Interior Systems","sections":{"1":{"instructor":"Serpil Altay","schedule":{"7":"FF-105","9":"FF-105","14":"FF-105","16":"FF-105","21":"FF-105","23":"FF-105"}}}},"IAED 417":{"name":"Interior Design Documentation","sections":{"1":{"instructor":"Nilgün Çarkacı","schedule":{"35":"FF-309","37":"FF-309","42":"FF-309","44":"FF-309","49":"FF-309","51":"FF-309"}}}}},"IE":{"IE 527":{"name":"Optimal Control","sections":{"1":{"instructor":"Staff","schedule":{"8":"EA-302","10":"EA-302","15":"EA-302","17":"EA-302","22":"EA-302","24":"EA-302"}}}},"IE 573":{"name":"Theory of Machine Scheduling","sections":{"1":{"instructor":"Bela Vizvari","schedule":{"11":"EA-302","18":"EA-302","25":"EA-302","36":"EA-302","43":"EA-302","50":"EA-302"}}}}},"IR":{"IR 201":{"name":"Computers in Social Sciences","sections":{"1":{"instructor":"Ayşe Semra Mumcu","schedule":{"14":"B-202","21":"B-202","22":"B-202","28":"B-202","29":"B-202","36":"B-202","43":"B-202","50":"B-202","57":"B-202","64":"B-202"}}}},"IR 213":{"name":"Middle East in Global Perspective","sections":{"1":{"instructor":"Mustafa Kibaroğlu","schedule":{"8":"B-Z06","10":"B-Z06","15":"B-Z06","17":"B-Z06","22":"B-Z06","24":"B-Z06"}}}},"IR 218":{"name":"Diplomatic History II","sections":{"1":{"instructor":"Sean Alexander McMeekin","schedule":{"1":"B-Z07","3":"B-Z07","8":"B-Z07","10":"B-Z07","15":"B-Z07","17":"B-Z07"}}}},"IR 229":{"name":"Research Methods I","sections":{"1":{"instructor":"Wlodzimierz Korab-Karpowicz","schedule":{"35":"B-Z07","38":"B-Z07","42":"B-Z07","45":"B-Z07","49":"B-Z07","52":"B-Z07"}}}},"IR 230":{"name":"Research Methods II","sections":{"1":{"instructor":"Wlodzimierz Korab-Karpowicz","schedule":{"37":"B-Z07","39":"B-Z07","44":"B-Z07","46":"B-Z07","51":"B-Z07","53":"B-Z07"}}}},"IR 234":{"name":"Turkish Political and Economic System","sections":{"1":{"instructor":"Ali Tekin","schedule":{"36":"A-329","38":"A-329","43":"A-329","45":"A-329","50":"A-329","52":"A-329"}}}},"IR 315":{"name":"History of the Balkans","sections":{"1":{"instructor":"Hasan Ünal","schedule":{"0":"A-329","2":"A-329","7":"A-329","9":"A-329","14":"A-329","16":"A-329"}}}},"IR 318":{"name":"Contemporary Balkan Politics","sections":{"1":{"instructor":"Hasan Ünal","schedule":{"1":"A-329","3":"A-329","8":"A-329","10":"A-329","15":"A-329","17":"A-329"}}}},"IR 338":{"name":"Politics of International Economy","sections":{"1":{"instructor":"Ali Tekin","schedule":{"16":"B-Z06","18":"B-Z06","23":"B-Z06","25":"B-Z06","30":"B-Z06","32":"B-Z06"}}}},"IR 424":{"name":"Issues in Strategy and Diplomacy","sections":{"1":{"instructor":"Mustafa Kibaroğlu","schedule":{"43":"B-Z06","45":"B-Z06","50":"B-Z06","52":"B-Z06","57":"B-Z06","59":"B-Z06"}}}}},"LAUD":{"LAUD 190":{"name":"Summer Practice I","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"MAN":{"MAN 213":{"name":"Principles of Financial Accounting","sections":{"1":{"instructor":"Süleyman Tuluğ Ok","schedule":{"11":"MA-301","15":"MA-301","18":"MA-301","22":"MA-301","29":"MA-301","49":"MA-301","56":"MA-301","63":"MA-301"}}}},"MAN 253":{"name":"Introduction to Computing","sections":{"1":{"instructor":"İsmail İpek","schedule":{"0":"N/A","1":"B-303","3":"B-303","7":"N/A","8":"B-303","10":"B-303","14":"N/A","17":"B-303","21":"N/A","24":"B-303"}}}},"MAN 254":{"name":"Introduction to Programming","sections":{"1":{"instructor":"Turgay Saracoğlu","schedule":{"44":"MA-301","46":"B-304","51":"MA-301","53":"B-304","57":"MA-301","58":"B-303","59":"MA-301","64":"MA-301","65":"B-303","66":"MA-301"}}}},"MAN 256":{"name":"Introduction to Management Science","sections":{"1":{"instructor":"Bela Vizvari","schedule":{"9":"MA-301","16":"MA-301","23":"MA-301","38":"MA-301","45":"MA-301","52":"MA-301"}}}},"MAN 262":{"name":"Organizational Behavior","sections":{"1":{"instructor":"Zahide Karakitapoğlu Aygün","schedule":{"25":"MA-301","32":"MA-301","35":"MA-301","42":"MA-301","43":"MA-301","50":"MA-301"}}}}},"MATH":{"MATH 102":{"name":"Calculus II","sections":{"1":{"instructor":"Ali Sinan Sertöz","schedule":{"0":"SA-Z04","2":"SA-Z04","4":"SA-Z04","7":"SA-Z04","9":"SA-Z04","11":"SA-Z04","14":"SA-Z04","16":"SA-Z04","18":"SA-Z04"}},"2":{"instructor":"Ali Sinan Sertöz","schedule":{"42":"SA-Z04","44":"SA-Z04","46":"SA-Z04","49":"SA-Z04","51":"SA-Z04","53":"SA-Z04","56":"SA-Z04","58":"SA-Z04","60":"SA-Z04"}}}},"MATH 106":{"name":"Introduction to Calculus II","sections":{"1":{"instructor":"Alexandre Goncharov","schedule":{"7":"SA-Z18","9":"SA-Z18","11":"SA-Z18","14":"SA-Z18","16":"SA-Z18","18":"SA-Z18","21":"SA-Z18","23":"SA-Z18","25":"SA-Z18"}}}},"MATH 240":{"name":"Differential Equations","sections":{"1":{"instructor":"Mefharet Kocatepe","schedule":{"8":"SA-Z04","10":"SA-Z04","15":"SA-Z04","17":"SA-Z04","22":"SA-Z04","24":"SA-Z04"}},"2":{"instructor":"Ayhan Altıntaş","schedule":{"8":"SA-Z18","10":"SA-Z18","15":"SA-Z18","17":"SA-Z18","22":"SA-Z18","24":"SA-Z18"}}}},"MATH 291":{"name":"Summer Project I","sections":{"2":{"instructor":"Azer Kerimov","schedule":{}},"3":{"instructor":"Laurence John Barker","schedule":{}},"4":{"instructor":"Alexandre Goncharov","schedule":{}}}},"MATH 391":{"name":"Summer Project II","sections":{"1":{"instructor":"Dilek Köksal","schedule":{}},"2":{"instructor":"Azer Kerimov","schedule":{}}}}},"PHYS":{"PHYS 102":{"name":"General Physics II","sections":{"1":{"instructor":"Staff","schedule":{"39":"N/A","43":"B-Z08","45":"B-Z08","46":"N/A","50":"B-Z08","52":"B-Z08","53":"N/A","57":"B-Z08","59":"B-Z08"}}}}},"PSYC":{"PSYC 102":{"name":"Introduction to Social Psychology","sections":{"1":{"instructor":"Bahriye Zeynep Önen","schedule":{"1":"A-127","3":"A-127","8":"A-127","10":"A-127","15":"A-127","17":"A-127"}}}}},"SOC":{"SOC 101":{"name":"Introduction to Sociology","sections":{"1":{"instructor":"Süheyla Pinar","schedule":{"0":"A-127","2":"A-127","7":"A-127","9":"A-127","14":"A-127","16":"A-127"}}}}},"TE":{"TE 504":{"name":"Educational Technology and Materials Development","sections":{"1":{"instructor":"Mesut Duran","schedule":{}}}},"TE 505":{"name":"Guidance","sections":{"1":{"instructor":"Patricia Ann Corsgreen","schedule":{"0":"N/A","2":"N/A","7":"N/A","9":"N/A","14":"N/A","16":"N/A"}}}},"TE 506":{"name":"Planning and Assessment in Teaching","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"TEFL":{"TEFL 553":{"name":"Research Seminar III","sections":{"1":{"instructor":"Julie Ann Aydınlı","schedule":{}}}},"TEFL 554":{"name":"Thesis Writing","sections":{"1":{"instructor":"William Snyder","schedule":{}}}}},"THM":{"THM 164":{"name":"Calculus","sections":{"1":{"instructor":"Kamer Rodoplu","schedule":{"36":"RE-103","38":"RE-103","43":"RE-103","45":"RE-103","50":"RE-103","52":"RE-103"}}}},"THM 245":{"name":"Purchasing and Cost Analysis","sections":{"1":{"instructor":"Esin Şenol","schedule":{"8":"RB-206","15":"RB-206","22":"RB-206","38":"RB-206","45":"RB-206","52":"RB-206"}}}},"THM 409":{"name":"Tourism Law","sections":{"1":{"instructor":"Cem Tarhan","schedule":{"7":"RE-203","14":"RE-203","21":"RE-203","37":"RE-203","44":"RE-203","51":"RE-203"}}}},"THM 415":{"name":"Finance","sections":{"1":{"instructor":"Cevat Ertuna","schedule":{"8":"RE-102","15":"RE-102","22":"RE-102","38":"RE-102","45":"RE-102","52":"RE-102"}}}},"THM 417":{"name":"Quantitative Decision Techniques","sections":{"1":{"instructor":"Fatin Sezgin","schedule":{"9":"RB-202","16":"RB-202","23":"RB-202","39":"RB-202","46":"RB-202","53":"RB-202"}}}},"THM 419":{"name":"Tourism Management Applications","sections":{"1":{"instructor":"M.Teoman Alemdar","schedule":{"10":"RB-203","17":"RB-203","24":"RB-203","35":"RB-203","42":"RB-203","49":"RB-203"}}}},"THM 423":{"name":"Tourism Economics","sections":{"1":{"instructor":"Cem Tarhan","schedule":{"11":"RE-203","18":"RE-203","25":"RE-203","36":"RE-203","43":"RE-203","50":"RE-203"}}}}},"TRIN":{"TRIN 102":{"name":"Applied Linguistics","sections":{"1":{"instructor":"Abdulhak Hamit Sunel","schedule":{"1":"LB-105","4":"LB-105","8":"LB-105","11":"LB-105","15":"LB-105","18":"LB-105"}}}},"TRIN 103":{"name":"Comparative Grammar (French-Turkish)","sections":{"1":{"instructor":"Abdulhak Hamit Sunel","schedule":{"0":"LB-105","3":"LB-105","7":"LB-105","10":"LB-105","14":"LB-105","17":"LB-105"}}}},"TRIN 267":{"name":"Sight Translation I","sections":{"1":{"instructor":"Mümtaz Kaya  Şebnem Akçapar","schedule":{"2":"LA-114","9":"LA-114","11":"LA-115","16":"LA-114","18":"LA-115","25":"LA-115","38":"LA-114","39":"LA-115","45":"LA-114","46":"LA-115","52":"LA-114","53":"LA-115"}}}},"TRIN 335":{"name":"Note-Taking and Consecutive Interpretation","sections":{"1":{"instructor":"Fahrettin Arslan  Ayşe Şirin Okyayuz","schedule":{"7":"LA-115","14":"LA-115","21":"LA-115","35":"LA-115","36":"LA-115","37":"LA-115","42":"LA-115","43":"LA-115","44":"LA-115","49":"LA-115","50":"LA-115","51":"LA-115"}}}}},"TURK":{"TURK 101":{"name":"Turkish I","sections":{"1":{"instructor":"Başak Berna Cordan","schedule":{"14":"T-169","21":"T-169","38":"T-169","45":"T-169"}}}},"TURK 102":{"name":"Turkish II","sections":{"1":{"instructor":"Ali Turan Görgü","schedule":{"14":"T-162","21":"T-162","38":"T-162","45":"T-162"}}}}}} -------------------------------------------------------------------------------- /public/data/offerings/20223.json: -------------------------------------------------------------------------------- 1 | {"AMER":{"AMER 499":{"name":"Individual Study","sections":{"1":{"instructor":"Daniel Peter Johnson","schedule":{}}}}},"ARCH":{"ARCH 290":{"name":"Summer Practice I","sections":{"1":{"instructor":"Özge Selen Duran","schedule":{}}}},"ARCH 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Özge Selen Duran","schedule":{}}}},"ARCH 499":{"name":"Individual Study","sections":{"1":{"instructor":"Zühre Sü Gül","schedule":{}}}}},"CHEM":{"CHEM 102":{"name":"Principles of Chemistry II","sections":{"1":{"instructor":"Burak Ülgüt","schedule":{"3":"SA-Z04","9":"SA-Z04","10":"SA-Z04","14":"SA-Z04","21":"SA-Z04","50":"SA-Z04","51":"N/A","57":"SA-Z04","58":"N/A","72":"N/A","79":"N/A"}}}},"CHEM 213":{"name":"Analytical Chemistry Laboratory I","sections":{"1":{"instructor":"Burak Ülgüt","schedule":{"49":"N/A","56":"N/A","70":"N/A","77":"N/A"}}}}},"CI":{"CI 518":{"name":"Science of Learning","sections":{"1":{"instructor":"Armağan Ateşkan  Jennie Farber Lane","schedule":{"42":"N/A","44":"N/A","49":"N/A","51":"N/A","56":"N/A","58":"N/A","65":"N/A"}}}},"CI 606":{"name":"Qualitative Research Methods","sections":{"1":{"instructor":"İlker Kalender","schedule":{"43":"N/A","45":"N/A","50":"N/A","52":"N/A","57":"N/A","59":"N/A","66":"N/A"}}}}},"CINT":{"CINT 520":{"name":"Technology and Research for Interpreting","sections":{"1":{"instructor":"Zeynep Şengel","schedule":{"3":"N/A","10":"N/A","14":"N/A","18":"N/A","21":"N/A","25":"N/A","50":"N/A","51":"N/A","57":"N/A","58":"N/A"}}}},"CINT 590":{"name":"Interpreting Seminar","sections":{"1":{"instructor":"Kutlay Bensan  Ebru Kanık  Yiğit Bener  Ayşe Aslı Alanat Kılıç","schedule":{}}}}},"COMD":{"COMD 358":{"name":"Professional Communication ","sections":{"1":{"instructor":"Müge Mengü Hale","schedule":{"1":"FC-Z23B","8":"FC-Z23B","18":"FC-Z23B","24":"FC-Z23B","25":"FC-Z23B","51":"FC-Z23B","58":"FC-Z23B"}}}},"COMD 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Hasan Yusuf Akçura","schedule":{}}}}},"CS":{"CS 102":{"name":"Algorithms and Programming II","sections":{"1":{"instructor":"Özcan Öztürk","schedule":{"3":"EB-101","9":"EB-101","10":"EB-101","14":"EB-101","21":"EB-101","49":"B-305","50":"EB-101","53":"B-305","56":"B-305","57":"EB-101","60":"B-305","70":"B-305","74":"B-305","77":"B-305","81":"B-305"}}}},"CS 115":{"name":"Introduction to Programming in Python","sections":{"1":{"instructor":"İpek Sözen  Lori Rae Russell Dağ","schedule":{"1":"G-236","8":"G-236","18":"G-B40","24":"G-B40","25":"G-B40","49":"EE-211","51":"G-B40","53":"EE-211","56":"EE-211","58":"G-B40","60":"EE-211","70":"EE-211","74":"EE-211","77":"EE-211","81":"EE-211"}}}},"CS 121":{"name":"Introduction to Computer Applications and Programming","sections":{"1":{"instructor":"Rabia Üşenmez","schedule":{"35":"B-303","37":"B-303","38":"B-303","42":"B-303","45":"B-303","52":"B-303","59":"B-303","73":"B-303","80":"B-303"}}}},"CS 125":{"name":"Introduction to Data Analysis for Social Sciences","sections":{"1":{"instructor":"Ayışığı Başak Sevdik Çallı","schedule":{"36":"B-206","39":"B-206","43":"B-206","44":"B-206","46":"B-206","53":"B-303","60":"B-303","74":"B-303","81":"B-303"}}}},"CS 202":{"name":"Fundamental Structures of Computer Science II","sections":{"1":{"instructor":"Aynur Dayanık","schedule":{"4":"EB-104","11":"EB-104","16":"EB-104","17":"EB-104","23":"EB-104","49":"EB-104","56":"EB-104"}}}},"CS 299":{"name":"Summer Training I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"CS 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Staff","schedule":{}}}},"CS 413":{"name":"Software Engineering Project Management","sections":{"1":{"instructor":"Mustafa Değerli","schedule":{"1":"EB-101","8":"EB-101","18":"EB-101","24":"EB-101","25":"EB-101","51":"EB-101","58":"EB-101"}}}},"CS 499":{"name":"Individual Study","sections":{"1":{"instructor":"Uğur Doğrusöz","schedule":{}}}}},"CTIS":{"CTIS 152":{"name":"Algorithms and Data Structures","sections":{"1":{"instructor":"Serpil Tın","schedule":{"1":"C-CTISL7","3":"CE-104","4":"C-CTISL7","8":"C-CTISL7","9":"CE-104","10":"CE-104","11":"C-CTISL7","14":"CE-104","17":"C-CTISL7","21":"CE-104","24":"C-CTISL7","49":"C-CTISL7","50":"CE-104","56":"C-CTISL7","57":"CE-104"}}}},"CTIS 256":{"name":"Introduction to Backend Development","sections":{"1":{"instructor":"Serkan Genç","schedule":{"1":"C-CTISL1","8":"C-CTISL1","18":"C-CTISL1","24":"C-CTISL1","25":"C-CTISL1","51":"C-CTISL1","58":"C-CTISL1"}}}},"CTIS 261":{"name":"Fundamentals of Computer Networks","sections":{"1":{"instructor":"Hamdi Murat Yıldırım  Seyid Amjad Ali","schedule":{"0":"C-CTISL3","2":"C-CTISL3","7":"C-CTISL3","15":"C-CTISL3","22":"C-CTISL3","52":"C-CTISL3","53":"C-CTISL3","59":"C-CTISL3","60":"C-CTISL3","74":"C-CTISL3","81":"C-CTISL3"}}}},"CTIS 489":{"name":"Interactive Computer Graphics Programming ","sections":{"1":{"instructor":"Serkan Genç","schedule":{"4":"C-CTISL1","11":"C-CTISL1","16":"C-CTISL1","17":"C-CTISL1","23":"C-CTISL1","49":"C-CTISL1","56":"C-CTISL1"}}}}},"ECON":{"ECON 103":{"name":"Principles of Economics","sections":{"1":{"instructor":"Güneş Karamullaoğlu","schedule":{"3":"B-204","10":"B-204","14":"B-204","18":"B-204","21":"B-204","25":"B-204","50":"B-204","51":"B-204","57":"B-204","58":"B-204"}}}},"ECON 204":{"name":"Microeconomic Theory II","sections":{"1":{"instructor":"Aleksandr Levkun","schedule":{"0":"B-Z06","2":"B-Z06","7":"B-Z06","15":"B-Z06","22":"B-Z06","52":"B-Z06","59":"B-Z06"}}}},"ECON 301":{"name":"Econometrics I","sections":{"1":{"instructor":"Mehmet Taner Yiğit","schedule":{"3":"B-Z06","10":"B-Z06","14":"B-Z06","18":"B-Z06","21":"B-Z06","25":"B-Z06","35":"B-305","42":"B-305","50":"B-Z06","51":"B-Z06","57":"B-Z06","58":"B-Z06"}}}},"ECON 399":{"name":"Summer Training ","sections":{"1":{"instructor":"Staff","schedule":{}}}},"ECON 439":{"name":"Game Theory I","sections":{"1":{"instructor":"Nuh Aygün Dalkıran","schedule":{"0":"B-Z07","2":"B-Z07","7":"B-Z07","15":"B-Z07","22":"B-Z07","52":"B-Z07","59":"B-Z07"}}}},"ECON 498":{"name":"Individual Study","sections":{"1":{"instructor":"Burçin Kısacıkoğlu","schedule":{}}}},"ECON 499":{"name":"Individual Study","sections":{"1":{"instructor":"Türkan Mine Kara","schedule":{}}}},"ECON 695":{"name":"Research Methods in Economics I","sections":{"1":{"instructor":"Nuh Aygün Dalkıran","schedule":{}}}}},"EEE":{"EEE 299":{"name":"Summer Training I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"EEE 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Staff","schedule":{}}}},"EEE 431":{"name":"Digital Communications","sections":{"1":{"instructor":"Sinan Gezici","schedule":{"0":"EB-101","2":"EB-101","7":"EB-101","15":"EB-101","22":"EB-101","52":"EB-101","59":"EB-101"}}}},"EEE 446":{"name":"Control and Optimization of Stochastic Systems","sections":{"1":{"instructor":"Serdar Yüksel","schedule":{"4":"EB-103","11":"EB-103","16":"EB-103","17":"EB-103","23":"EB-103","49":"EB-103","56":"EB-103"}}}},"EEE 546":{"name":"Control and Optimization of Stochastic Systems","sections":{"1":{"instructor":"Serdar Yüksel","schedule":{"4":"EB-103","11":"EB-103","16":"EB-103","17":"EB-103","23":"EB-103","49":"EB-103","56":"EB-103"}}}}},"ELIT":{"ELIT 499":{"name":"Individual Study","sections":{"1":{"instructor":"Ayşe Çelikkol","schedule":{}}}}},"EMBA":{"EMBA 502":{"name":"EMBA Project","sections":{"1":{"instructor":"Ahmet Şensoy","schedule":{}}}},"EMBA 516":{"name":"Competitive Strategy","sections":{"1":{"instructor":"Ahmet Şensoy","schedule":{}}}}},"ENG":{"ENG 101":{"name":"English and Composition I","sections":{"1":{"instructor":"Hakan Güven","schedule":{"1":"G-Z52","3":"G-Z52","4":"G-Z52","8":"G-Z52","10":"G-Z52","11":"G-Z52","14":"G-Z52","21":"G-Z52","50":"G-Z52","51":"G-Z52","57":"G-Z52","58":"G-Z52"}}}},"ENG 102":{"name":"English and Composition II","sections":{"1":{"instructor":"Özge Ezici Çetin","schedule":{"0":"G-Z10","2":"G-Z10","7":"G-Z10","9":"G-Z10","15":"G-Z10","18":"G-Z10","22":"G-Z10","25":"G-Z10","52":"G-Z10","53":"G-Z10","59":"G-Z10","60":"G-Z10"}},"2":{"instructor":"Türküm Azmiye Cankatan","schedule":{"1":"G-Z07","3":"G-Z07","4":"G-Z07","8":"G-Z07","10":"G-Z07","11":"G-Z07","14":"G-Z07","21":"G-Z07","50":"G-Z07","51":"G-Z07","57":"G-Z07","58":"G-Z07"}},"3":{"instructor":"John William Day","schedule":{"16":"G-Z52","23":"G-Z52","35":"G-Z52","36":"G-Z52","37":"G-Z52","38":"G-Z52","39":"G-Z52","42":"G-Z52","43":"G-Z52","44":"G-Z52","45":"G-Z52","46":"G-Z52"}},"4":{"instructor":"Elif Çotuksöken","schedule":{"0":"G-Z07","2":"G-Z07","7":"G-Z07","9":"G-Z07","15":"G-Z07","18":"G-Z07","22":"G-Z07","25":"G-Z07","52":"G-Z07","53":"G-Z07","59":"G-Z07","60":"G-Z07"}},"5":{"instructor":"Laura Elizabeth Salgın","schedule":{"1":"G-Z10","3":"G-Z10","4":"G-Z10","8":"G-Z10","10":"G-Z10","11":"G-Z10","14":"G-Z10","21":"G-Z10","50":"G-Z10","51":"G-Z10","57":"G-Z10","58":"G-Z10"}},"6":{"instructor":"Ümmü Gaye Ternisien","schedule":{"16":"G-Z10","23":"G-Z10","35":"G-Z10","36":"G-Z10","37":"G-Z10","38":"G-Z10","39":"G-Z10","42":"G-Z10","43":"G-Z10","44":"G-Z10","45":"G-Z10","46":"G-Z10"}},"7":{"instructor":"Hümeyra Başol Çetin","schedule":{"16":"G-Z09","23":"G-Z09","35":"G-Z09","36":"G-Z09","37":"G-Z09","38":"G-Z09","39":"G-Z09","42":"G-Z09","43":"G-Z09","44":"G-Z09","45":"G-Z09","46":"G-Z09"}},"8":{"instructor":"Laura Elizabeth Salgın","schedule":{"16":"G-Z07","23":"G-Z07","35":"G-Z07","36":"G-Z07","37":"G-Z07","38":"G-Z07","39":"G-Z07","42":"G-Z07","43":"G-Z07","44":"G-Z07","45":"G-Z07","46":"G-Z07"}}}},"ENG 401":{"name":"Technical Report Writing and Presentation","sections":{"1":{"instructor":"Marlene Denice Elwell","schedule":{"0":"G-Z09","2":"G-Z09","7":"G-Z09","15":"G-Z09","22":"G-Z09","52":"G-Z09","59":"G-Z09"}},"2":{"instructor":"Marlene Denice Elwell","schedule":{"3":"G-Z09","9":"G-Z09","10":"G-Z09","14":"G-Z09","21":"G-Z09","50":"G-Z09","57":"G-Z09"}}}}},"FA":{"FA 132":{"name":"Design Graphics ","sections":{"1":{"instructor":"Alper Küçük","schedule":{"1":"FF-107","8":"FF-107","15":"FF-107","22":"FF-107","53":"FF-107","60":"FF-107","67":"FF-107"}}}},"FA 211":{"name":"Introduction to Painting I","sections":{"1":{"instructor":"Beata Malgorzata Zalewska Sladczyk","schedule":{"9":"FB-320","16":"FB-320","23":"FB-320","49":"FB-320","56":"FB-320","63":"FB-320"}}}},"FA 212":{"name":"Introduction to Painting II","sections":{"1":{"instructor":"Beata Malgorzata Zalewska Sladczyk","schedule":{"7":"FB-320","14":"FB-320","21":"FB-320","52":"FB-320","59":"FB-320","66":"FB-320"}}}},"FA 215":{"name":"Introduction to Sculpture I","sections":{"1":{"instructor":"Ercan Sağlam","schedule":{"8":"FC-123","15":"FC-123","22":"FC-123","53":"FC-123","60":"FC-123","67":"FC-123"}},"2":{"instructor":"Ercan Sağlam","schedule":{"11":"FC-123","18":"FC-123","25":"FC-123","51":"FC-123","58":"FC-123","65":"FC-123"}}}},"FA 217":{"name":"Introduction to Ceramics I","sections":{"1":{"instructor":"Ahmet Özsalar","schedule":{"8":"FE-101","15":"FE-101","22":"FE-101","53":"FE-101","60":"FE-101","67":"FE-101"}},"2":{"instructor":"Ahmet Özsalar","schedule":{"3":"FE-101","10":"FE-101","17":"FE-101","50":"FE-101","57":"FE-101","64":"FE-101"}}}}},"GE":{"GE 301":{"name":"Science Technology and Society","sections":{"1":{"instructor":"Robin Ann Downey","schedule":{"36":"B-204","39":"B-204","43":"B-204","44":"B-204","46":"B-204"}}}}},"HART":{"HART 221":{"name":"Great Discoveries from the Ancient World ","sections":{"1":{"instructor":"Julian Bennett","schedule":{"1":"G-154","8":"G-154","18":"G-154","24":"G-154","25":"G-154","51":"G-154","58":"G-154"}}}}},"HCIV":{"HCIV 101":{"name":"History of Civilization I","sections":{"1":{"instructor":"David E. Thornton","schedule":{"0":"B-Z01","2":"B-Z01","7":"B-Z01","15":"B-Z01","22":"B-Z01","52":"B-Z01","59":"B-Z01"}}}},"HCIV 102":{"name":"History of Civilization II","sections":{"1":{"instructor":"David E. Thornton","schedule":{"3":"B-Z07","9":"B-Z07","10":"B-Z07","14":"B-Z07","21":"B-Z07","50":"B-Z07","57":"B-Z07"}}}}},"HIST":{"HIST 200":{"name":"History of Turkey ","sections":{"1":{"instructor":"Abdürrahim Özer","schedule":{"1":"B-Z01","8":"B-Z01","18":"B-Z01","24":"B-Z01","25":"B-Z01","51":"B-Z01","58":"B-Z01"}}}}},"HUM":{"HUM 111":{"name":"Cultures Civilizations and Ideas I","sections":{"1":{"instructor":"Dragan Ilic","schedule":{"0":"G-154","2":"G-154","7":"G-154","15":"G-154","22":"G-154","52":"G-154","59":"G-154"}}}},"HUM 112":{"name":"Cultures Civilizations and Ideas II","sections":{"1":{"instructor":"Dragan Ilic","schedule":{"3":"G-154","9":"G-154","10":"G-154","14":"G-154","21":"G-154","50":"G-154","57":"G-154"}}}}},"IAED":{"IAED 290":{"name":"Summer Practice I","sections":{"1":{"instructor":"Tijen Sonkan Türkkan","schedule":{}}}},"IAED 341":{"name":"Architectural Acoustics and Fire Safety","sections":{"1":{"instructor":"Semiha Yılmazer","schedule":{"3":"FF-101","9":"FF-101","10":"FF-101","14":"FF-101","21":"FF-101","50":"FF-101","57":"FF-101"}}}},"IAED 351":{"name":"Detailing Studio","sections":{"1":{"instructor":"Murat Özdamar","schedule":{"1":"FF-106","8":"FF-106","15":"FF-106","22":"FF-106","53":"FF-106","60":"FF-106","67":"FF-106"}}}},"IAED 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Tijen Sonkan Türkkan","schedule":{}}}}},"IE":{"IE 342":{"name":"Engineering Economic Analysis","sections":{"1":{"instructor":"Emre Uzun","schedule":{"3":"EB-102","9":"EB-102","10":"EB-102","14":"EB-102","21":"EB-102","50":"EB-102","57":"EB-102"}}}},"IE 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Özlem Çavuş İyigün","schedule":{}}}},"IE 497":{"name":"Individual Study","sections":{"1":{"instructor":"Emre Uzun","schedule":{}}}}},"IELTS":{"IELTS 100":{"name":"International English Language Testing System","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"IR":{"IR 101":{"name":"Introduction to World Politics","sections":{"1":{"instructor":"Orhun Bayraktar","schedule":{"1":"B-Z07","8":"B-Z07","18":"B-Z07","24":"B-Z07","25":"B-Z07","38":"B-Z07","45":"B-Z07","51":"B-Z07","58":"B-Z07"}}}},"IR 303":{"name":"International Law ","sections":{"1":{"instructor":"Tuğba Bayar","schedule":{"3":"B-111","9":"B-111","10":"B-111","14":"B-111","21":"B-111","50":"B-111","57":"B-111"}}}},"IR 338":{"name":"Politics of International Economy","sections":{"1":{"instructor":"Seçkin Köstem","schedule":{"0":"B-111","2":"B-111","7":"B-111","15":"B-111","22":"B-111","52":"B-111","59":"B-111"}}}},"IR 399":{"name":"Summer Training","sections":{"1":{"instructor":"Staff","schedule":{}}}},"IR 439":{"name":"Turkish Foreign Policy ","sections":{"1":{"instructor":"Onur Erpul","schedule":{"4":"B-111","11":"B-111","16":"B-111","17":"B-111","23":"B-111","49":"B-111","56":"B-111"}}}}},"LAW":{"LAW 202":{"name":"Law of Obligations II (in Turkish)","sections":{"1":{"instructor":"Vedat Buz","schedule":{"1":"B-113","8":"B-113","18":"B-113","24":"B-113","25":"B-113","51":"B-113","58":"B-113"}}}},"LAW 306":{"name":"Law of Property II (in Turkish)","sections":{"1":{"instructor":"Şemsi Barış Özçelik","schedule":{"3":"B-113","9":"B-113","10":"B-113","14":"B-113","21":"B-113","50":"B-113","57":"B-113"}}}},"LAW 308":{"name":"Company Law (in Turkish)","sections":{"1":{"instructor":"Hamdi Pınar","schedule":{"4":"B-114","11":"B-114","16":"B-114","17":"B-114","23":"B-114","49":"B-114","56":"B-114"}}}},"LAW 358":{"name":"Criminal Law Special Provisions (in Turkish)","sections":{"1":{"instructor":"Haluk Toroslu","schedule":{"4":"B-203","11":"B-203","16":"B-203","17":"B-203","23":"B-203","49":"B-203","56":"B-203"}}}},"LAW 403":{"name":"Inheritance Law (in Turkish)","sections":{"1":{"instructor":"Özgür Güvenç","schedule":{"1":"B-203","8":"B-203","18":"B-203","24":"B-203","25":"B-203","51":"B-203","58":"B-203"}}}},"LAW 406":{"name":"International Commercial Arbitration","sections":{"1":{"instructor":"Gülüm Özçelik","schedule":{"35":"V-01","37":"V-01","38":"V-01","42":"V-01","45":"V-01"}}}},"LAW 410":{"name":"Enforcement and Bankruptcy Law (in Turkish)","sections":{"1":{"instructor":"Emel Hanağası","schedule":{"0":"B-203","2":"B-203","7":"B-203","15":"B-203","22":"B-203","52":"B-203","59":"B-203"}}}},"LAW 411":{"name":"Criminal Procedure (in Turkish)","sections":{"1":{"instructor":"Devrim Güngör","schedule":{"3":"B-114","9":"B-114","10":"B-114","14":"B-114","21":"B-114","50":"B-114","57":"B-114"}}}}},"LNG":{"LNG 111":{"name":"Spanish I","sections":{"1":{"instructor":"Yağmur Cevger","schedule":{"3":"G-Z55","10":"G-Z55","14":"G-Z55","18":"G-Z55","21":"G-Z55","25":"G-Z55","50":"G-Z55","51":"G-Z55","57":"G-Z55","58":"G-Z55"}}}},"LNG 131":{"name":"German I","sections":{"1":{"instructor":"Esra Çalt","schedule":{"3":"G-Z53","10":"G-Z53","14":"G-Z53","18":"G-Z53","21":"G-Z53","25":"G-Z53","50":"G-Z53","51":"G-Z53","57":"G-Z53","58":"G-Z53"}}}}},"MAN":{"MAN 102":{"name":"Introduction to Business II","sections":{"1":{"instructor":"Özgür Tolga Baycan","schedule":{"3":"B-305","9":"B-305","10":"B-305","14":"B-305","21":"B-305","50":"B-305","57":"B-305"}}}},"MAN 256":{"name":"Introduction to Management Science","sections":{"1":{"instructor":"Bo Wei","schedule":{"4":"MA-302","11":"MA-302","16":"MA-302","17":"MA-302","23":"MA-302","49":"MA-302","56":"MA-302"}}}},"MAN 335":{"name":"Fundamentals of Marketing","sections":{"1":{"instructor":"Ahmet Ekici","schedule":{"0":"MA-302","2":"MA-302","7":"MA-302","15":"MA-302","22":"MA-302","52":"MA-302","59":"MA-302"}}}},"MAN 341":{"name":"Production Management","sections":{"1":{"instructor":"Bo Wei","schedule":{"1":"MA-302","8":"MA-302","18":"MA-302","24":"MA-302","25":"MA-302","51":"MA-302","58":"MA-302"}}}},"MAN 399":{"name":"Summer Practice","sections":{"1":{"instructor":"Özgür Tolga Baycan","schedule":{}}}},"MAN 436":{"name":"Services Marketing","sections":{"1":{"instructor":"Ahmet Ekici","schedule":{"3":"MA-302","9":"MA-302","10":"MA-302","14":"MA-302","21":"MA-302","50":"MA-302","57":"MA-302"}}}},"MAN 498":{"name":"Individual Study","sections":{"1":{"instructor":"Aydın Örsan Örge","schedule":{}},"2":{"instructor":"Selda Sevin","schedule":{}}}}},"MATH":{"MATH 101":{"name":"Calculus I","sections":{"1":{"instructor":"Ahmet Muhtar Güloğlu","schedule":{"1":"B-Z08","4":"B-Z08","8":"B-Z08","11":"B-Z08","16":"B-Z08","17":"B-Z08","23":"B-Z08","24":"B-Z08","49":"B-Z08","56":"B-Z08"}}}},"MATH 102":{"name":"Calculus II","sections":{"1":{"instructor":"Mehmet Okan Tekman","schedule":{"3":"B-Z08","10":"B-Z08","14":"B-Z08","18":"B-Z08","21":"B-Z08","25":"B-Z08","50":"B-Z08","51":"B-Z08","57":"B-Z08","58":"B-Z08"}},"2":{"instructor":"Özgün Ünlü","schedule":{"1":"SB-Z03","4":"SB-Z03","8":"SB-Z03","11":"SB-Z03","16":"SB-Z03","17":"SB-Z03","23":"SB-Z03","24":"SB-Z03","49":"SB-Z03","56":"SB-Z03"}}}},"MATH 106":{"name":"Introduction to Calculus II","sections":{"1":{"instructor":"Bülent Ünal","schedule":{"3":"B-206","10":"B-206","14":"B-206","18":"B-206","21":"B-206","25":"B-206","50":"B-206","51":"B-206","57":"B-206","58":"B-206"}},"2":{"instructor":"Natalia Zheltukhina","schedule":{"1":"SA-Z18","4":"SA-Z18","8":"SA-Z18","11":"SA-Z18","16":"SA-Z18","17":"SA-Z18","23":"SA-Z18","24":"SA-Z18","49":"SA-Z18","56":"SA-Z18"}}}},"MATH 225":{"name":"Linear Algebra and Differential Equations","sections":{"1":{"instructor":"Yosum Kurtulmaz","schedule":{"1":"B-204","4":"B-204","8":"B-204","11":"B-204","16":"B-204","17":"B-204","23":"B-204","24":"B-204","49":"B-204","56":"B-204"}}}},"MATH 241":{"name":"Engineering Mathematics I","sections":{"1":{"instructor":"Nil Şahin","schedule":{"0":"EB-103","2":"EB-103","7":"EB-103","9":"EB-103","15":"EB-103","22":"EB-103","52":"EB-103","53":"EB-103","59":"EB-103","60":"EB-103"}}}},"MATH 242":{"name":"Engineering Mathematics II","sections":{"1":{"instructor":"Nil Şahin","schedule":{"1":"EB-203","4":"EB-203","8":"EB-203","11":"EB-203","16":"EB-203","17":"EB-203","23":"EB-203","24":"EB-203","49":"EB-203","56":"EB-203"}}}},"MATH 264":{"name":"Statistics for Social Sciences","sections":{"1":{"instructor":"İnci Apaydın","schedule":{"4":"SA-Z01","11":"SA-Z01","16":"SA-Z01","17":"SA-Z01","23":"SA-Z01","49":"SA-Z01","56":"SA-Z01"}}}},"MATH 291":{"name":"Summer Project I","sections":{"1":{"instructor":"Gökhan Yıldırım","schedule":{}}}},"MATH 391":{"name":"Summer Project II","sections":{"1":{"instructor":"Gökhan Yıldırım","schedule":{}}}},"MATH 399":{"name":"Summer Practice","sections":{"1":{"instructor":"Hamza Yeşilyurt","schedule":{}}}},"MATH 498":{"name":"Individual Study","sections":{"1":{"instructor":"Aurelian Gheondea","schedule":{}}}},"MATH 499":{"name":"Individual Study","sections":{"1":{"instructor":"Güliz Bolat","schedule":{}}}}},"MBG":{"MBG 291":{"name":"Summer Practice I","sections":{"1":{"instructor":"Özhan Öçal","schedule":{}}}},"MBG 391":{"name":"Summer Practice II","sections":{"1":{"instructor":"Özhan Öçal","schedule":{}}}}},"ME":{"ME 299":{"name":"Summer Practice I","sections":{"1":{"instructor":"Şakir Baytaroğlu","schedule":{}}}},"ME 399":{"name":"Summer Practice II","sections":{"1":{"instructor":"Şakir Baytaroğlu","schedule":{}}}},"ME 486":{"name":"Design Project II","sections":{"1":{"instructor":"Barbaros Çetin  Onur Özcan","schedule":{"4":"EB-101","11":"EB-101","16":"EB-101","17":"EB-101","23":"EB-101","49":"EB-101","56":"EB-101"}}}}},"MSC":{"MSC 110":{"name":"The Culture and Basics of Music Making","sections":{"1":{"instructor":"Aylin Yılmaz","schedule":{"3":"G-136","9":"G-136","10":"G-136","14":"G-136","21":"G-136","50":"G-136","57":"G-136"}}}},"MSC 412":{"name":"Composition VIII: Graduation Project","sections":{"1":{"instructor":"Onur Türkmen","schedule":{}}}}},"PHIL":{"PHIL 243":{"name":"Social and Political Philosophy I","sections":{"1":{"instructor":"İklil Kaya Yıldırım  Yehezkel S. Berkovski","schedule":{"0":"B-112","2":"B-112","4":"B-Z06","7":"B-112","11":"B-Z06","15":"B-112","16":"B-Z06","17":"B-Z06","22":"B-112","23":"B-Z06","49":"B-Z06","52":"B-112","56":"B-Z06","59":"B-112"}}}},"PHIL 244":{"name":"Social and Political Philosophy II","sections":{"1":{"instructor":"Yehezkel S. Berkovski  Jeffrey Michael Doonan","schedule":{"1":"G-B40","3":"G-B40","8":"G-B40","9":"G-B40","10":"G-B40","14":"G-B40","18":"B-112","21":"G-B40","24":"B-112","25":"B-112","50":"B-112","51":"B-112","57":"B-112","58":"B-112"}}}}},"PHYS":{"PHYS 101":{"name":"General Physics I","sections":{"1":{"instructor":"Oğuz Gülseren","schedule":{"3":"SA-Z18","9":"SA-Z18","10":"SA-Z18","14":"SA-Z18","21":"SA-Z18","50":"SA-Z18","52":"N/A","57":"SA-Z18","59":"N/A","73":"N/A","80":"N/A"}}}},"PHYS 102":{"name":"General Physics II","sections":{"1":{"instructor":"Seymur Jahangirov","schedule":{"0":"SB-Z03","2":"SB-Z03","7":"SB-Z03","15":"SB-Z03","22":"SB-Z03","51":"N/A","52":"SB-Z03","58":"N/A","59":"SB-Z03","72":"N/A","79":"N/A"}},"2":{"instructor":"Ceren Sibel Sayın","schedule":{"1":"SA-Z01","8":"SA-Z01","18":"SA-Z01","24":"SA-Z01","25":"SA-Z01","50":"N/A","51":"SA-Z01","57":"N/A","58":"SA-Z01","71":"N/A","78":"N/A"}}}},"PHYS 291":{"name":"Summer Practice","sections":{"1":{"instructor":"Onur Tokel","schedule":{}}}}},"POLS":{"POLS 101":{"name":"Introduction to Political Science I","sections":{"1":{"instructor":"John James Alexander","schedule":{"1":"B-111","8":"B-111","18":"B-111","24":"B-111","25":"B-111","51":"B-111","58":"B-111"}}}},"POLS 399":{"name":"Summer Training","sections":{"1":{"instructor":"Staff","schedule":{}}}},"POLS 483":{"name":"Liberalism and Socialism: Past and Present","sections":{"1":{"instructor":"John James Alexander","schedule":{"4":"MA-101","11":"MA-101","16":"MA-101","17":"MA-101","23":"MA-101","49":"MA-101","56":"MA-101"}}}}},"PREP":{"PREP 151":{"name":"Pre- faculty","sections":{"501":{"instructor":"Seçil Chouseinoglu Canbaz  Joseph Henry Louis Smith  Ozan Ekici","schedule":{}},"502":{"instructor":"Emine Zafer Nizam  Ozan Ekici","schedule":{}}}},"PREP 160":{"name":"PAE Practice Course ","sections":{"501":{"instructor":"Müge Dağlı  Harun Dişlioğlu","schedule":{}},"502":{"instructor":"Emine Geçgil  Rachel Elizabeth Campbell","schedule":{}},"503":{"instructor":"Duygu Yılmaz  Simon James Harvey Brunker","schedule":{}},"504":{"instructor":"Bilal İnci  Ecem İşbilir  Rachel Elizabeth Campbell","schedule":{}}}}},"PSYC":{"PSYC 100":{"name":"Introduction to Psychology","sections":{"1":{"instructor":"Ceren Gürdere","schedule":{"4":"B-112","11":"B-112","16":"B-112","17":"B-112","23":"B-112","49":"B-112","56":"B-112"}}}},"PSYC 205":{"name":"Statistics II","sections":{"1":{"instructor":"Sezer Kadayıfçılar","schedule":{"4":"G-136","11":"G-136","16":"G-136","17":"G-136","23":"G-136","49":"G-136","56":"G-136"}}}},"PSYC 399":{"name":"Summer Training","sections":{"1":{"instructor":"Emine Ulaşan Özgüle","schedule":{}}}},"PSYC 495":{"name":"Individual Study","sections":{"1":{"instructor":"Ausaf Ahmed Farooqui","schedule":{}}}}},"SFL":{"SFL 392":{"name":"Common European Framework of Reference Level B2","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"TRIN":{"TRIN 399":{"name":"Common European Framework","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"TURK":{"TURK 101":{"name":"Turkish I","sections":{"1":{"instructor":"Sedef Kendir Kurttekin","schedule":{}}}},"TURK 102":{"name":"Turkish II","sections":{"1":{"instructor":"Adem Gergöy","schedule":{}},"2":{"instructor":"Sedef Kendir Kurttekin","schedule":{}}}}}} -------------------------------------------------------------------------------- /public/data/offerings/20243.json: -------------------------------------------------------------------------------- 1 | {"AMER":{"AMER 294":{"name":"American History II","sections":{"1":{"instructor":"Kenneth Weisbrode","schedule":{"2":"B-203","9":"B-203","14":"B-203","21":"B-203","52":"B-203","59":"B-203"}}}},"AMER 406":{"name":"Senior Project","sections":{"1":{"instructor":"Daniel Peter Johnson","schedule":{}}}}},"ARCH":{"ARCH 290":{"name":"Summer Practice I","sections":{"1":{"instructor":"Özge Selen Duran","schedule":{}}}},"ARCH 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Özge Selen Duran","schedule":{}}}}},"CHEM":{"CHEM 102":{"name":"Principles of Chemistry II","sections":{"1":{"instructor":"Ömer Dağ","schedule":{"4":"SB-Z03","11":"SB-Z03","16":"SB-Z03","23":"SB-Z03","49":"SB-Z03","50":"N/A","56":"SB-Z03","57":"N/A","64":"N/A","71":"N/A"}}}},"CHEM 399":{"name":"Summer Practice","sections":{"1":{"instructor":"Bilge Baytekin","schedule":{}}}}},"CINT":{"CINT 520":{"name":"Technology and Research for Interpreting","sections":{"1":{"instructor":"Zeynep Şengel","schedule":{"42":"N/A","43":"N/A","49":"N/A","50":"N/A","56":"N/A","57":"N/A"}}}},"CINT 590":{"name":"Interpreting Seminar","sections":{"1":{"instructor":"Kutlay Bensan  Ebru Kanık  Yiğit Bener  Ayşe Aslı Alanat Kılıç","schedule":{"7":"N/A","8":"N/A","9":"N/A","10":"N/A","14":"N/A","15":"N/A","16":"N/A","17":"N/A","21":"N/A","22":"N/A","23":"N/A","24":"N/A"}}}}},"COMD":{"COMD 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Hasan Yusuf Akçura","schedule":{}}}}},"CS":{"CS 102":{"name":"Algorithms and Programming II","sections":{"1":{"instructor":"Lori Rae Russell Dağ","schedule":{"2":"B-Z01","9":"B-Z01","14":"B-Z01","21":"B-Z01","51":"FF-208","52":"B-Z01","53":"FF-208","58":"FF-208","59":"B-Z01","60":"FF-208","65":"FF-208","67":"FF-208","72":"FF-208","74":"FF-208"}}}},"CS 115":{"name":"Introduction to Programming in Python","sections":{"1":{"instructor":"İpek Sözen  Ayışığı Başak Sevdik Çallı","schedule":{"0":"B-109","7":"B-109","17":"B-109","24":"B-109","49":"B-201","50":"B-109","51":"B-201","56":"B-201","57":"B-109","58":"B-201","63":"B-201","65":"B-201","70":"B-201","72":"B-201"}}}},"CS 121":{"name":"Introduction to Computer Applications and Programming","sections":{"1":{"instructor":"Sibel Uğurlubilek","schedule":{"36":"FF-207","38":"FF-207","43":"FF-207","45":"FF-207","52":"FF-207","59":"FF-207","66":"FF-207","73":"FF-207"}}}},"CS 125":{"name":"Introduction to Data Analysis for Social Sciences","sections":{"1":{"instructor":"Rabia Üşenmez","schedule":{"36":"B-Z08","38":"B-Z08","43":"B-Z08","45":"B-Z08","52":"B-201","59":"B-201","66":"B-201","73":"B-201"}}}},"CS 202":{"name":"Fundamental Structures of Computer Science II","sections":{"1":{"instructor":"Aynur Dayanık","schedule":{"0":"B-Z04","7":"B-Z04","17":"B-Z04","24":"B-Z04","50":"B-Z04","57":"B-Z04"}}}},"CS 299":{"name":"Summer Training I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"CS 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Staff","schedule":{}}}},"CS 499":{"name":"Individual Study","sections":{"1":{"instructor":"Özgür Ulusoy","schedule":{}},"2":{"instructor":"Hamdi Dibeklioğlu","schedule":{}}}}},"CTIS":{"CTIS 152":{"name":"Algorithms and Data Structures","sections":{"1":{"instructor":"Seyid Amjad Ali","schedule":{"0":"CE-Z04","7":"CE-Z04","17":"CE-Z04","24":"CE-Z04","35":"C-CTISL7","36":"C-CTISL7","37":"C-CTISL7","38":"C-CTISL7","42":"C-CTISL7","43":"C-CTISL7","44":"C-CTISL7","45":"C-CTISL7","50":"CE-Z04","57":"CE-Z04"}}}},"CTIS 256":{"name":"Introduction to Backend Development","sections":{"1":{"instructor":"Serkan Genç","schedule":{"1":"C-CTISL7","8":"C-CTISL7","18":"C-CTISL7","25":"C-CTISL7","51":"C-CTISL7","58":"C-CTISL7"}}}},"CTIS 259":{"name":"Database Management Systems and Applications","sections":{"1":{"instructor":"Nimet Ceren Serim","schedule":{"0":"C-CTISL4","2":"CE-104","7":"C-CTISL4","9":"CE-104","14":"CE-104","17":"C-CTISL4","21":"CE-104","24":"C-CTISL4","50":"C-CTISL4","52":"CE-104","57":"C-CTISL4","59":"CE-104"}}}},"CTIS 359":{"name":"Principles of Software Engineering","sections":{"1":{"instructor":"Oumout Chousein Oglou","schedule":{"4":"CE-Z04","11":"CE-Z04","16":"CE-Z04","23":"CE-Z04","49":"CE-Z04","56":"CE-Z04"}}}},"CTIS 488":{"name":"Data Analysis","sections":{"1":{"instructor":"Seyid Amjad Ali","schedule":{"2":"CE-Z04","9":"CE-Z04","14":"CE-Z04","21":"CE-Z04","52":"CE-Z04","59":"CE-Z04"}}}}},"ECON":{"ECON 107":{"name":"Principles of Microeconomics","sections":{"1":{"instructor":"Çağla Ökten","schedule":{"0":"B-Z06","7":"B-Z06","17":"B-Z06","24":"B-Z06","50":"B-Z06","57":"B-Z06"}}}},"ECON 203":{"name":"Microeconomic Theory I","sections":{"1":{"instructor":"Kevin Edward Hasker","schedule":{"1":"B-Z05","8":"B-Z05","18":"B-Z05","25":"B-Z05","51":"B-Z05","58":"B-Z05"}}}},"ECON 225":{"name":"Mathematics for Economists","sections":{"1":{"instructor":"Mustafa Kerem Yüksel","schedule":{"0":"B-Z07","7":"B-Z07","17":"B-Z07","24":"B-Z07","50":"B-Z07","57":"B-Z07"}}}},"ECON 301":{"name":"Econometrics I","sections":{"1":{"instructor":"Mehmet Taner Yiğit","schedule":{"35":"B-108","36":"B-108","37":"B-108","38":"B-108","42":"B-108","43":"B-108","44":"B-108","45":"B-108"}}}},"ECON 399":{"name":"Summer Training ","sections":{"1":{"instructor":"Mustafa Eray Yücel","schedule":{}}}},"ECON 439":{"name":"Game Theory I","sections":{"1":{"instructor":"Nuh Aygün Dalkıran","schedule":{"1":"B-Z06","8":"B-Z06","18":"B-Z06","25":"B-Z06","51":"B-Z06","58":"B-Z06"}}}},"ECON 458":{"name":"Labor Economics","sections":{"1":{"instructor":"Çağla Ökten","schedule":{"2":"B-Z06","9":"B-Z06","14":"B-Z06","21":"B-Z06","52":"B-Z06","59":"B-Z06"}}}}},"EEE":{"EEE 299":{"name":"Summer Training I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"EEE 321":{"name":"Signals and Systems","sections":{"1":{"instructor":"Mehmet Alper Kutay","schedule":{"3":"EA-Z01","10":"EA-Z01","15":"EA-Z01","22":"EA-Z01","49":"EE-211","53":"EA-Z01","56":"EE-211","60":"EA-Z01","63":"EE-211","70":"EE-211"}}}},"EEE 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Staff","schedule":{}}}},"EEE 446":{"name":"Control and Optimization of Stochastic Systems","sections":{"1":{"instructor":"Serdar Yüksel","schedule":{"35":"EA-Z01","36":"EA-Z01","37":"EA-Z01","38":"EA-Z01","42":"EA-Z01","43":"EA-Z01","44":"EA-Z01","45":"EA-Z01"}}}},"EEE 499":{"name":"Individual Study","sections":{"1":{"instructor":"Vakur Behçet Ertürk","schedule":{}},"2":{"instructor":"Aykut Koç","schedule":{}}}},"EEE 546":{"name":"Control and Optimization of Stochastic Systems","sections":{"1":{"instructor":"Serdar Yüksel","schedule":{"35":"EA-Z01","36":"EA-Z01","37":"EA-Z01","38":"EA-Z01","42":"EA-Z01","43":"EA-Z01","44":"EA-Z01","45":"EA-Z01"}}}}},"ELIT":{"ELIT 290":{"name":"Summer Training I","sections":{"1":{"instructor":"Jonathan Coleman Williams","schedule":{}}}},"ELIT 390":{"name":"Summer Training II","sections":{"1":{"instructor":"Jonathan Coleman Williams","schedule":{}}}},"ELIT 499":{"name":"Individual Study","sections":{"1":{"instructor":"Attila Viragh","schedule":{}},"2":{"instructor":"Ayşe Çelikkol","schedule":{}}}}},"EMBA":{"EMBA 502":{"name":"EMBA Project","sections":{"1":{"instructor":"Aydın Örsan Örge","schedule":{}}}},"EMBA 516":{"name":"Competitive Strategy","sections":{"1":{"instructor":"Aydın Örsan Örge","schedule":{}}}}},"ENG":{"ENG 101":{"name":"English and Composition I","sections":{"1":{"instructor":"Sara Liviero","schedule":{"2":"B-Z07","3":"B-Z07","9":"B-Z07","10":"B-Z07","14":"B-Z07","15":"B-Z07","21":"B-Z07","22":"B-Z07","52":"B-Z07","59":"B-Z07"}}}},"ENG 102":{"name":"English and Composition II","sections":{"1":{"instructor":"Elif Hande Özer","schedule":{"2":"B-107","3":"B-107","9":"B-107","10":"B-107","14":"B-107","15":"B-107","21":"B-107","22":"B-107","52":"B-107","59":"B-107"}},"2":{"instructor":"Hümeyra Başol Çetin","schedule":{"35":"B-103","36":"B-103","37":"B-103","38":"B-103","39":"B-103","42":"B-103","43":"B-103","44":"B-103","45":"B-103","46":"B-103"}},"3":{"instructor":"Robert McNamara Loomis","schedule":{"2":"B-204","3":"B-204","9":"B-204","10":"B-204","14":"B-204","15":"B-204","21":"B-204","22":"B-204","52":"B-204","59":"B-204"}},"4":{"instructor":"Türküm Cankatan","schedule":{"0":"B-106","1":"B-Z08","7":"B-106","8":"B-Z08","17":"B-204","24":"B-204","50":"B-106","51":"B-Z08","57":"B-106","58":"B-Z08"}},"6":{"instructor":"Hakan Güven","schedule":{"0":"B-206","1":"B-206","7":"B-206","8":"B-206","17":"B-206","24":"B-206","50":"B-206","51":"B-206","57":"B-206","58":"B-206"}}}},"ENG 401":{"name":"Technical Report Writing and Presentation","sections":{"1":{"instructor":"Bengü Yurtseven","schedule":{"2":"B-Z05","9":"B-Z05","14":"B-Z05","21":"B-Z05","52":"B-Z05","59":"B-Z05"}},"2":{"instructor":"Bengü Yurtseven","schedule":{"0":"B-108","7":"B-108","17":"B-108","24":"B-108","50":"B-108","57":"B-108"}}}}},"FA":{"FA 132":{"name":"Design Graphics ","sections":{"1":{"instructor":"Alper Küçük","schedule":{"8":"FF-312","15":"FF-312","22":"FF-312","53":"FF-312","60":"FF-312","67":"FF-312"}}}},"FA 171":{"name":"Introduction to Art, Design and Culture I","sections":{"1":{"instructor":"Ekin Bayrak","schedule":{"2":"FF-110","9":"FF-110","14":"FF-110","21":"FF-110","52":"FF-110","59":"FF-110"}}}},"FA 211":{"name":"Introduction to Painting I","sections":{"1":{"instructor":"Beata Malgorzata Zalewska Sladczyk","schedule":{"9":"FB-320","16":"FB-320","23":"FB-320","49":"FB-320","56":"FB-320","63":"FB-320"}}}},"FA 212":{"name":"Introduction to Painting II","sections":{"1":{"instructor":"Beata Malgorzata Zalewska Sladczyk","schedule":{"7":"FB-320","14":"FB-320","21":"FB-320","52":"FB-320","59":"FB-320","66":"FB-320"}}}},"FA 215":{"name":"Introduction to Sculpture I","sections":{"1":{"instructor":"Ercan Sağlam","schedule":{"8":"FC-123","15":"FC-123","22":"FC-123","53":"FC-123","60":"FC-123","67":"FC-123"}},"2":{"instructor":"Ercan Sağlam","schedule":{"11":"FC-123","18":"FC-123","25":"FC-123","51":"FC-123","58":"FC-123","65":"FC-123"}}}},"FA 217":{"name":"Introduction to Ceramics I","sections":{"1":{"instructor":"Elvan Serin","schedule":{"8":"FE-101","15":"FE-101","22":"FE-101","53":"FE-101","60":"FE-101","67":"FE-101"}}}}},"GE":{"GE 301":{"name":"Science Technology and Society","sections":{"1":{"instructor":"Emine Öncüler Yayalar","schedule":{"35":"EA-Z03","37":"EA-Z03","42":"EA-Z03","44":"EA-Z03"}}}},"GE 401":{"name":"Innovative Design and Entrepreneurship I","sections":{"1":{"instructor":"Yiğit Karpat","schedule":{}}}}},"HCIV":{"HCIV 101":{"name":"History of Civilization I","sections":{"1":{"instructor":"Filip Malesevic","schedule":{"0":"B-105","7":"B-105","17":"B-105","24":"B-105","50":"B-105","57":"B-105"}}}},"HCIV 102":{"name":"History of Civilization II","sections":{"1":{"instructor":"Filip Malesevic","schedule":{"2":"B-104","9":"B-104","14":"B-104","21":"B-104","52":"B-104","59":"B-104"}}}}},"HIST":{"HIST 200":{"name":"History of Turkey ","sections":{"1":{"instructor":"İbrahim Mert Öztürk","schedule":{"1":"B-Z07","8":"B-Z07","18":"B-Z07","25":"B-Z07","51":"B-Z07","58":"B-Z07"}}}}},"HUM":{"HUM 111":{"name":"Cultures Civilizations and Ideas I","sections":{"1":{"instructor":"Costantino Costantini","schedule":{"2":"B-206","9":"B-206","14":"B-206","21":"B-206","52":"B-206","59":"B-206"}},"2":{"instructor":"Mustafa Nakeeb","schedule":{"1":"B-106","8":"B-106","18":"B-106","25":"B-106","51":"B-106","58":"B-106"}},"3":{"instructor":"Mustafa Nakeeb","schedule":{"3":"B-Z04","10":"B-Z04","15":"B-Z04","22":"B-Z04","53":"B-Z04","60":"B-Z04"}}}},"HUM 112":{"name":"Cultures Civilizations and Ideas II","sections":{"1":{"instructor":"Brian David McPhee","schedule":{"3":"B-Z08","10":"B-Z08","15":"B-Z08","22":"B-Z08","53":"B-Z08","60":"B-Z08"}},"2":{"instructor":"Costantino Costantini","schedule":{"1":"B-Z01","8":"B-Z01","18":"B-Z01","25":"B-Z01","51":"B-Z01","58":"B-Z01"}}}}},"IAED":{"IAED 290":{"name":"Summer Practice I","sections":{"1":{"instructor":"Tijen Sonkan Türkkan","schedule":{}}}},"IAED 341":{"name":"Architectural Acoustics","sections":{"1":{"instructor":"Semiha Yılmazer","schedule":{"2":"FF-101","9":"FF-101","14":"FF-101","21":"FF-101","52":"FF-101","59":"FF-101"}}}},"IAED 351":{"name":"Detailing Studio","sections":{"1":{"instructor":"Murat Özdamar","schedule":{"8":"FF-106","15":"FF-106","22":"FF-106","53":"FF-106","60":"FF-106","67":"FF-106"}}}},"IAED 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Tijen Sonkan Türkkan","schedule":{}}}}},"IE":{"IE 342":{"name":"Engineering Economic Analysis","sections":{"1":{"instructor":"Emre Uzun","schedule":{"2":"EA-Z01","9":"EA-Z01","14":"EA-Z01","21":"EA-Z01","52":"EA-Z01","59":"EA-Z01"}}}},"IE 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Özlem Çavuş İyigün","schedule":{}}}},"IE 499":{"name":"Individual Study","sections":{"1":{"instructor":"Ayşe Selin Kocaman","schedule":{}}}}},"IELTS":{"IELTS 100":{"name":"International English Language Testing System","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"IR":{"IR 399":{"name":"Summer Training","sections":{"1":{"instructor":"Ekrem Taha Başer","schedule":{}}}},"IR 4116":{"name":"International Logistics","sections":{"1":{"instructor":"İsmail Hakkı Doğankaya","schedule":{"1":"B-109","8":"B-109","18":"B-109","25":"B-109","51":"B-109","58":"B-109"}}}},"IR 4991":{"name":"Individual Study","sections":{"1":{"instructor":"Seçkin Köstem","schedule":{}},"2":{"instructor":"Tuğba Bayar","schedule":{}}}}},"LAW":{"LAW 202":{"name":"Law of Obligations II (in Turkish)","sections":{"1":{"instructor":"Mehmet Emir Göka","schedule":{"1":"V-01","8":"V-01","18":"V-01","25":"V-01","51":"V-01","58":"V-01"}}}},"LAW 302":{"name":"Civil Procedure II (in Turkish)","sections":{"1":{"instructor":"Aybüke Basım","schedule":{"3":"B-Z03","10":"B-Z03","15":"B-Z03","22":"B-Z03","53":"B-Z03","60":"B-Z03"}}}},"LAW 304":{"name":"Private International Law (in Turkish)","sections":{"1":{"instructor":"Gülüm Özçelik","schedule":{"0":"B-203","7":"B-203","17":"B-203","24":"B-203","50":"B-203","57":"B-203"}}}},"LAW 305":{"name":"Law of Property I (in Turkish)","sections":{"1":{"instructor":"Şemsi Barış Özçelik","schedule":{"1":"B-203","8":"B-203","18":"B-203","25":"B-203","51":"B-203","58":"B-203"}}}},"LAW 306":{"name":"Law of Property II (in Turkish)","sections":{"1":{"instructor":"Şemsi Barış Özçelik","schedule":{"4":"B-203","11":"B-203","16":"B-203","23":"B-203","49":"B-203","56":"B-203"}}}},"LAW 358":{"name":"Criminal Law Special Provisions (in Turkish)","sections":{"1":{"instructor":"Yaprak Öntan","schedule":{"3":"B-104","10":"B-104","15":"B-104","22":"B-104","53":"B-104","60":"B-104"}}}},"LAW 401":{"name":"Law of Negotiable Instruments (in Turkish)","sections":{"1":{"instructor":"Ufuk Tekin","schedule":{"1":"B-102","8":"B-102","18":"B-102","25":"B-102","51":"B-102","58":"B-102"}}}},"LAW 403":{"name":"Inheritance Law (in Turkish)","sections":{"1":{"instructor":"Eren Özdemir","schedule":{"2":"B-102","9":"B-102","14":"B-102","21":"B-102","52":"B-102","59":"B-102"}}}},"LAW 406":{"name":"International Commercial Arbitration","sections":{"1":{"instructor":"Gülüm Özçelik","schedule":{"36":"B-203","38":"B-203","43":"B-203","45":"B-203"}}}},"LAW 410":{"name":"Enforcement and Bankruptcy Law (in Turkish)","sections":{"1":{"instructor":"Aybüke Basım","schedule":{"4":"B-Z03","11":"B-Z03","16":"B-Z03","23":"B-Z03","49":"B-Z03","56":"B-Z03"}}}},"LAW 411":{"name":"Criminal Procedure (in Turkish)","sections":{"1":{"instructor":"Devrim Güngör","schedule":{"0":"B-103","7":"B-103","17":"B-103","24":"B-103","50":"B-103","57":"B-103"}}}},"LAW 499":{"name":"Individual Study","sections":{"1":{"instructor":"Elvin Evrim Dalkılıç","schedule":{}},"2":{"instructor":"Elvin Evrim Dalkılıç","schedule":{}}}}},"LNG":{"LNG 111":{"name":"Spanish I","sections":{"1":{"instructor":"Hüseyin Güngör Şahin","schedule":{"35":"B-106","36":"B-106","37":"B-106","38":"B-106","42":"B-106","43":"B-106","44":"B-106","45":"B-106"}}}},"LNG 121":{"name":"French I","sections":{"1":{"instructor":"Betül Bostan","schedule":{"35":"B-207","36":"B-207","37":"B-207","38":"B-207","42":"B-207","43":"B-207","44":"B-207","45":"B-207"}}}},"LNG 131":{"name":"German I","sections":{"1":{"instructor":"Pierre Yves Vandermeersch","schedule":{"35":"B-102","36":"B-102","37":"B-102","38":"B-102","42":"B-102","43":"B-102","44":"B-102","45":"B-102"}}}}},"MAN":{"MAN 102":{"name":"Introduction to Business II","sections":{"1":{"instructor":"Özgür Tolga Baycan","schedule":{"1":"EE-211","8":"EE-211","18":"EE-211","25":"EE-211","51":"EE-211","58":"EE-211"}}}},"MAN 335":{"name":"Fundamentals of Marketing","sections":{"1":{"instructor":"Ahmet Ekici","schedule":{"2":"MA-202","9":"MA-202","14":"MA-202","21":"MA-202","52":"MA-202","59":"MA-202"}}}},"MAN 361":{"name":"Organization Theory","sections":{"1":{"instructor":"Rasim Serdar Kurdoğlu","schedule":{"1":"MA-202","8":"MA-202","18":"MA-202","25":"MA-202","51":"MA-202","58":"MA-202"}}}},"MAN 399":{"name":"Summer Practice","sections":{"1":{"instructor":"Zeynep Önder","schedule":{}}}},"MAN 436":{"name":"Services Marketing","sections":{"1":{"instructor":"Ahmet Ekici","schedule":{"0":"MA-202","7":"MA-202","17":"MA-202","24":"MA-202","50":"MA-202","57":"MA-202"}}}},"MAN 498":{"name":"Individual Study","sections":{"1":{"instructor":"Feray Tunçalp","schedule":{}},"2":{"instructor":"Banu Sultanoğlu","schedule":{}},"3":{"instructor":"Atilla Onuklu","schedule":{}}}}},"MATH":{"MATH 101":{"name":"Calculus I","sections":{"1":{"instructor":"Ahmet Muhtar Güloğlu","schedule":{"0":"SA-Z18","7":"SA-Z18","17":"SA-Z18","24":"SA-Z18","39":"SA-Z18","46":"SA-Z18","50":"SA-Z18","57":"SA-Z18"}}}},"MATH 102":{"name":"Calculus II","sections":{"1":{"instructor":"Kadri İlker Berktav","schedule":{"0":"B-Z08","7":"B-Z08","17":"B-Z08","24":"B-Z08","39":"B-Z08","46":"B-Z08","50":"B-Z08","57":"B-Z08"}},"2":{"instructor":"Mehmet Okan Tekman","schedule":{"35":"B-Z07","36":"B-Z07","37":"B-Z07","38":"B-Z07","42":"B-Z07","43":"B-Z07","44":"B-Z07","45":"B-Z07"}}}},"MATH 105":{"name":"Introduction to Calculus I","sections":{"1":{"instructor":"Merve Seçgin","schedule":{"2":"B-106","9":"B-106","14":"B-106","21":"B-106","39":"B-206","46":"B-206","52":"B-Z08","59":"B-Z08"}}}},"MATH 106":{"name":"Introduction to Calculus II","sections":{"1":{"instructor":"Nurdan Kar","schedule":{"2":"B-Z08","9":"B-Z08","14":"B-Z08","21":"B-Z08","39":"B-Z01","46":"B-Z01","52":"B-106","59":"B-106"}},"2":{"instructor":"Mustafa Kerem Yüksel","schedule":{"35":"B-Z01","36":"B-Z01","37":"B-Z01","38":"B-Z01","42":"B-Z01","43":"B-Z01","44":"B-Z01","45":"B-Z01"}}}},"MATH 132":{"name":"Discrete and Combinatorial Mathematics","sections":{"1":{"instructor":"Hamza Yeşilyurt","schedule":{"3":"B-Z01","10":"B-Z01","15":"B-Z01","22":"B-Z01","53":"B-Z01","60":"B-Z01"}}}},"MATH 225":{"name":"Linear Algebra and Differential Equations","sections":{"2":{"instructor":"Özgün Ünlü","schedule":{"35":"SA-Z18","36":"SA-Z18","37":"SA-Z18","38":"SA-Z18","42":"SA-Z18","43":"SA-Z18","44":"SA-Z18","45":"SA-Z18"}}}},"MATH 241":{"name":"Engineering Mathematics I","sections":{"1":{"instructor":"Nil Şahin","schedule":{"2":"EE-412","9":"EE-412","14":"EE-412","21":"EE-412","39":"EE-412","46":"EE-412","52":"EE-412","59":"EE-412"}}}},"MATH 242":{"name":"Engineering Mathematics II","sections":{"1":{"instructor":"Nil Şahin","schedule":{"35":"EE-412","36":"EE-412","37":"EE-412","38":"EE-412","42":"EE-412","43":"EE-412","44":"EE-412","45":"EE-412"}}}},"MATH 264":{"name":"Statistics for Social Sciences","sections":{"1":{"instructor":"İnci Apaydın","schedule":{"3":"SA-Z18","10":"SA-Z18","15":"SA-Z18","22":"SA-Z18","53":"SA-Z18","60":"SA-Z18"}}}},"MATH 291":{"name":"Summer Project I","sections":{"1":{"instructor":"Deniz Yılmaz","schedule":{}}}},"MATH 391":{"name":"Summer Project II","sections":{"1":{"instructor":"Deniz Yılmaz","schedule":{}}}},"MATH 399":{"name":"Summer Practice","sections":{"1":{"instructor":"Hamza Yeşilyurt","schedule":{}}}},"MATH 499":{"name":"Individual Study","sections":{"1":{"instructor":"Aleksander Degtyarev","schedule":{}}}}},"MBG":{"MBG 291":{"name":"Summer Practice I","sections":{"1":{"instructor":"Özhan Öçal","schedule":{}}}},"MBG 391":{"name":"Summer Practice II","sections":{"1":{"instructor":"Özhan Öçal","schedule":{}}}}},"ME":{"ME 299":{"name":"Summer Practice I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"ME 399":{"name":"Summer Practice II","sections":{"1":{"instructor":"Şakir Baytaroğlu","schedule":{}}}}},"MSC":{"MSC 411":{"name":"Composition VII","sections":{"1":{"instructor":"Onur Türkmen","schedule":{}}}}},"PHIL":{"PHIL 243":{"name":"Social and Political Philosophy I","sections":{"1":{"instructor":"Yehezkel S. Berkovski  Laura Elizabeth Salgın","schedule":{"1":"B-Z04","2":"B-Z04","8":"B-Z04","9":"B-Z04","14":"B-Z04","18":"B-Z04","21":"B-Z04","25":"B-Z04","51":"B-Z04","52":"B-Z04","58":"B-Z04","59":"B-Z04"}},"2":{"instructor":"Yehezkel S. Berkovski  Laura Elizabeth Salgın","schedule":{"1":"B-105","2":"B-105","8":"B-105","9":"B-105","14":"B-105","18":"B-105","21":"B-105","25":"B-105","51":"B-105","52":"B-105","58":"B-105","59":"B-105"}}}},"PHIL 244":{"name":"Social and Political Philosophy II","sections":{"1":{"instructor":"Jennifer Lyn Schroeder  James Kinkaid III","schedule":{"1":"B-103","2":"B-103","8":"B-103","9":"B-103","14":"B-103","18":"B-103","21":"B-103","25":"B-103","51":"B-103","52":"B-103","58":"B-103","59":"B-103"}},"2":{"instructor":"Jennifer Lyn Schroeder  James Kinkaid III","schedule":{"1":"B-108","2":"B-108","8":"B-108","9":"B-108","14":"B-108","18":"B-108","21":"B-108","25":"B-108","51":"B-108","52":"B-108","58":"B-108","59":"B-108"}}}},"PHIL 299":{"name":"Summer Training I","sections":{"1":{"instructor":"Daniel Mark Wolt","schedule":{}}}},"PHIL 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Daniel Mark Wolt","schedule":{}}}},"PHIL 499":{"name":"Individual Study","sections":{"1":{"instructor":"Nazım Keven","schedule":{}}}}},"PHYS":{"PHYS 101":{"name":"General Physics I","sections":{"1":{"instructor":"Oğuz Gülseren","schedule":{"2":"SA-Z18","9":"SA-Z18","14":"SA-Z18","21":"SA-Z18","52":"SA-Z18","53":"N/A","59":"SA-Z18","60":"N/A","67":"N/A"}}}},"PHYS 102":{"name":"General Physics II","sections":{"1":{"instructor":"Bilal Tanatar","schedule":{"2":"SB-Z03","9":"SB-Z03","14":"SB-Z03","21":"SB-Z03","52":"SB-Z03","53":"N/A","59":"SB-Z03","60":"N/A","67":"N/A"}}}},"PHYS 498":{"name":"Individual Study","sections":{"1":{"instructor":"Mehmet Özgür Oktel","schedule":{}},"2":{"instructor":"Bilal Tanatar","schedule":{}}}}},"POLS":{"POLS 101":{"name":"Politics I: What is it?","sections":{"1":{"instructor":"Başak İnce","schedule":{"3":"B-Z06","10":"B-Z06","15":"B-Z06","22":"B-Z06","53":"B-Z06","60":"B-Z06"}}}},"POLS 104":{"name":"Politics II: How Does It Work?","sections":{"1":{"instructor":"Kerem Yıldırım","schedule":{"4":"B-104","11":"B-104","16":"B-104","23":"B-104","49":"B-104","56":"B-104"}}}},"POLS 399":{"name":"Summer Training","sections":{"1":{"instructor":"Zeki Sarıgil","schedule":{}}}},"POLS 421":{"name":"Issues in Modern Political Thought","sections":{"1":{"instructor":"John James Alexander","schedule":{"3":"B-105","10":"B-105","15":"B-105","22":"B-105","53":"B-105","60":"B-105"}}}},"POLS 483":{"name":"Liberalism and Socialism: Past and Present","sections":{"1":{"instructor":"John James Alexander","schedule":{"4":"B-Z06","11":"B-Z06","16":"B-Z06","23":"B-Z06","49":"B-Z06","56":"B-Z06"}}}}},"PREP":{"PREP 141":{"name":"Upper-intermediate","sections":{"501":{"instructor":"Bilge Çöllüoğlu Yakar  Ecem İşbilir  Matthew Bryce Allen","schedule":{}},"502":{"instructor":"Özlem Sydney Turgut  Serhan Bulanık","schedule":{}}}},"PREP 151":{"name":"Pre- faculty","sections":{"501":{"instructor":"Müge Dağlı  Çiğdem Fıçıcı  Lindsey Josephina Bishop-Allen","schedule":{}},"502":{"instructor":"Ayşe Funda Gökçe  Richard John Wallace","schedule":{}},"503":{"instructor":"Saliha Gürbüzdal  Arlene Patricia Lahey","schedule":{}},"504":{"instructor":"Müge Dağlı  Azra Uslu  Anthony James Scott","schedule":{}}}},"PREP 160":{"name":"PAE Practice Course ","sections":{"501":{"instructor":"Nurdan Yeşil  Müge Erten  Tajia Dawn Moertle","schedule":{}},"502":{"instructor":"Nurdan Yeşil  Seçil Chousein Oglu Canbaz  İpek Hüyüklü","schedule":{}},"503":{"instructor":"Seçil Koçal  Ebru Atakurt  Füsun Taşkesen","schedule":{}},"504":{"instructor":"Funda Kamanlı  Gülcan Kuyumcu  James Dean Tressler","schedule":{}},"505":{"instructor":"Steven Hobson  Alena Iriskulova  Bilal İnci","schedule":{}},"506":{"instructor":"Dilek Bilgiç  Gülcan Kuyumcu  Ozan Ekici","schedule":{}},"507":{"instructor":"Gökçen Işık  Tajia Dawn Moertle  James Dean Tressler","schedule":{}},"508":{"instructor":"Efe Burak Yakar  Nihan Kılıç  Joseph Henry Louis Smith","schedule":{}},"509":{"instructor":"Emine Geçgil  Alena Iriskulova  Alexandra Heeg Polzin","schedule":{}},"510":{"instructor":"Ayşe Özmen Özdemir  Seda Özdoğan  Simon James Harvey Brunker  Joseph Salvatore Aversano","schedule":{}},"511":{"instructor":"Gökşen Çetin  Esra Tünay  Joseph Henry Louis Smith","schedule":{}}}}},"PSYC":{"PSYC 399":{"name":"Summer Training","sections":{"1":{"instructor":"Emine Ulaşan Özgüle","schedule":{}}}}},"TRIN":{"TRIN 390":{"name":"Summer Practice","sections":{"1":{"instructor":"Cahide Ekiz","schedule":{}}}},"TRIN 399":{"name":"Common European Framework","sections":{"1":{"instructor":"Duygu Duman","schedule":{}}}}},"TURK":{"TURK 101":{"name":"Turkish I","sections":{"1":{"instructor":"Adem Gergöy","schedule":{}}}},"TURK 102":{"name":"Turkish II","sections":{"1":{"instructor":"Burcu Taşkıran","schedule":{}}}}}} -------------------------------------------------------------------------------- /public/data/offerings/20213.json: -------------------------------------------------------------------------------- 1 | {"AMER":{"AMER 290":{"name":"Summer Training I","sections":{"1":{"instructor":"Emine Lale Demirtürk","schedule":{}}}},"AMER 390":{"name":"Summer Training II","sections":{"1":{"instructor":"Emine Lale Demirtürk","schedule":{}}}}},"ARCH":{"ARCH 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Özge Selen Duran","schedule":{}}}}},"CHEM":{"CHEM 102":{"name":"Principles of Chemistry II","sections":{"1":{"instructor":"Emrah Özensoy","schedule":{"2":"SB-Z03","9":"SB-Z03","14":"SB-Z03","21":"SB-Z03","50":"N/A","52":"SB-Z03","57":"N/A","59":"SB-Z03","64":"N/A","71":"N/A"}}}},"CHEM 399":{"name":"Summer Practice","sections":{"1":{"instructor":"Bilge Baytekin","schedule":{}}}}},"CI":{"CI 511":{"name":"Curriculum in an International Context","sections":{"1":{"instructor":"Armağan Ateşkan","schedule":{"0":"G-254","7":"G-254","17":"G-254","24":"G-254","50":"G-254","57":"G-254"}}}},"CI 513":{"name":"Statistics","sections":{"1":{"instructor":"İlker Kalender","schedule":{"57":"G-B55","59":"G-B55","64":"G-B55","66":"G-B55","71":"G-B55","73":"G-B55"}}}},"CI 532":{"name":"Written Academic Discourse ","sections":{"1":{"instructor":"Jennie Farber Lane","schedule":{"2":"G-254","9":"G-254","14":"G-254","21":"G-254","52":"G-254","59":"G-254"}}}},"CI 608":{"name":"Current Trends and Issues in Educational Technology","sections":{"1":{"instructor":"Erdat Çataloğlu","schedule":{"57":"G-255","59":"G-255","64":"G-255","66":"G-255","71":"G-255","73":"G-255"}}}},"CI 617":{"name":"Academic Writing in Education","sections":{"1":{"instructor":"Anita Nicole Alexander","schedule":{"57":"N/A","59":"N/A","64":"N/A","66":"N/A","71":"N/A","73":"N/A"}}}}},"CINT":{"CINT 513":{"name":"Advanced Simultaneous Interpreting I","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"COMD":{"COMD 354":{"name":"Game Design and Research","sections":{"1":{"instructor":"Levent Y. İnce","schedule":{"9":"FB-114","16":"FB-114","23":"FB-114","49":"FB-114","56":"FB-114","63":"FB-114"}}}},"COMD 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Hasan Yusuf Akçura","schedule":{}}}},"COMD 498":{"name":"Individual Study","sections":{"1":{"instructor":"Funda Şenova Tunalı","schedule":{}}}}},"CS":{"CS 102":{"name":"Algorithms and Programming II","sections":{"1":{"instructor":"Lori Rae Russell Dağ","schedule":{"1":"B-Z08","8":"B-Z08","18":"B-Z08","25":"B-Z08","50":"B-201","51":"B-Z08","53":"B-201","57":"B-201","58":"B-Z08","60":"B-201","64":"B-201","67":"B-201","71":"B-201","74":"B-201"}}}},"CS 115":{"name":"Introduction to Programming in Python","sections":{"1":{"instructor":"İpek Sözen","schedule":{"3":"B-Z08","10":"B-Z08","15":"B-Z08","22":"B-Z08","49":"B-304","52":"B-304","53":"B-Z08","56":"B-304","59":"B-304","60":"B-Z08","63":"B-304","66":"B-304","70":"B-304","73":"B-304"}}}},"CS 121":{"name":"Introduction to Computer Applications and Programming","sections":{"1":{"instructor":"Rabia Üşenmez","schedule":{"36":"B-303","38":"B-303","43":"B-303","45":"B-303","52":"B-303","59":"B-303","66":"B-303","73":"B-303"}}}},"CS 125":{"name":"Introduction to Data Analysis for Social Sciences","sections":{"1":{"instructor":"Ayışığı Başak Sevdik Çallı","schedule":{"35":"B-Z02","37":"B-Z02","42":"B-Z02","44":"B-Z02","51":"B-303","58":"B-303","65":"B-303","72":"B-303"}}}},"CS 201":{"name":"Fundamental Structures of Computer Science I","sections":{"1":{"instructor":"Aynur Dayanık","schedule":{"1":"B-Z01","8":"B-Z01","18":"B-Z01","25":"B-Z01","51":"B-Z01","58":"B-Z01"}}}},"CS 202":{"name":"Fundamental Structures of Computer Science II","sections":{"1":{"instructor":"Aynur Dayanık","schedule":{"2":"B-Z01","9":"B-Z01","14":"B-Z01","21":"B-Z01","52":"B-Z01","59":"B-Z01"}}}},"CS 299":{"name":"Summer Training I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"CS 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Staff","schedule":{}}}},"CS 413":{"name":"Software Engineering Project Management","sections":{"1":{"instructor":"Beyhan Akporay","schedule":{"4":"B-Z02","11":"B-Z02","16":"B-Z02","23":"B-Z02","49":"B-Z02","56":"B-Z02"}}}},"CS 499":{"name":"Individual Study","sections":{"1":{"instructor":"Can Alkan","schedule":{}}}}},"CTIS":{"CTIS 152":{"name":"Algorithms and Data Structures","sections":{"1":{"instructor":"Okyay Say","schedule":{"2":"C-CTISL7","4":"C-216","9":"C-CTISL7","11":"C-216","14":"C-CTISL7","16":"C-216","21":"C-CTISL7","23":"C-216","39":"C-CTISL7","46":"C-CTISL7","49":"C-216","52":"C-CTISL7","56":"C-216","59":"C-CTISL7"}}}},"CTIS 256":{"name":"Introduction to Backend Development","sections":{"1":{"instructor":"Serkan Genç","schedule":{"1":"C-CTISL1","8":"C-CTISL1","18":"C-CTISL1","25":"C-CTISL1","51":"C-CTISL1","58":"C-CTISL1"}}}},"CTIS 417":{"name":"Software Design Patterns","sections":{"1":{"instructor":"Cüneyt Sevgi","schedule":{"0":"CE-106","7":"CE-106","17":"CE-106","24":"CE-106","50":"CE-106","57":"CE-106"}}}},"CTIS 499":{"name":"Individual Study","sections":{"1":{"instructor":"Nimet Ceren Serim","schedule":{}},"2":{"instructor":"Serkan Genç","schedule":{}}}}},"ECON":{"ECON 103":{"name":"Principles of Economics","sections":{"1":{"instructor":"Nazende Özkaramete Coşkun","schedule":{"35":"B-Z06","36":"B-Z06","37":"B-Z06","38":"B-Z06","42":"B-Z06","43":"B-Z06","44":"B-Z06","45":"B-Z06"}}}},"ECON 399":{"name":"Summer Training ","sections":{"1":{"instructor":"Staff","schedule":{}}}},"ECON 439":{"name":"Game Theory I","sections":{"1":{"instructor":"Talat Şenocak","schedule":{"3":"B-111","10":"B-111","15":"B-111","22":"B-111","53":"B-111","60":"B-111"}}}},"ECON 499":{"name":"Individual Study","sections":{"1":{"instructor":"Hüseyin Çağrı Sağlam","schedule":{}},"2":{"instructor":"Tarık Kara","schedule":{}}}}},"EEE":{"EEE 299":{"name":"Summer Training I","sections":{"1":{"instructor":"Staff","schedule":{}}}},"EEE 321":{"name":"Signals and Systems","sections":{"1":{"instructor":"Mehmet Alper Kutay","schedule":{"0":"B-Z08","7":"B-Z08","17":"B-Z08","24":"B-Z08","50":"B-Z08","52":"EE-211","57":"B-Z08","59":"EE-211","66":"EE-211","73":"EE-211"}}}},"EEE 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Staff","schedule":{}}}},"EEE 431":{"name":"Telecommunications I","sections":{"1":{"instructor":"Sinan Gezici","schedule":{"1":"EB-203","8":"EB-203","18":"EB-203","25":"EB-203","51":"EB-203","58":"EB-203"}}}},"EEE 446":{"name":"Control and Optimization of Stochastic Systems","sections":{"1":{"instructor":"Serdar Yüksel","schedule":{"3":"EB-203","10":"EB-203","15":"EB-203","16":"EB-203","22":"EB-203","23":"EB-203","39":"EB-203","46":"EB-203"}}}},"EEE 448":{"name":"Reinforcement Learning and Dynamic Programming","sections":{"1":{"instructor":"Milad Malekipirbazari","schedule":{"0":"B-Z02","7":"B-Z02","17":"B-Z02","24":"B-Z02","50":"B-Z02","57":"B-Z02"}}}},"EEE 546":{"name":"Control and Optimization of Stochastic Systems","sections":{"1":{"instructor":"Serdar Yüksel","schedule":{"3":"EB-203","10":"EB-203","15":"EB-203","16":"EB-203","22":"EB-203","23":"EB-203","39":"EB-203","46":"EB-203"}}}},"EEE 548":{"name":"Reinforcement Learning and Dynamic Programming","sections":{"1":{"instructor":"Milad Malekipirbazari","schedule":{"0":"B-Z02","7":"B-Z02","17":"B-Z02","24":"B-Z02","50":"B-Z02","57":"B-Z02"}}}}},"ELIT":{"ELIT 290":{"name":"Summer Training I","sections":{"1":{"instructor":"Ayşe Çelikkol","schedule":{}}}},"ELIT 390":{"name":"Summer Training II","sections":{"1":{"instructor":"Ayşe Çelikkol","schedule":{}}}},"ELIT 499":{"name":"Individual Study","sections":{"1":{"instructor":"Jonathan Coleman Williams","schedule":{}}}}},"ENG":{"ENG 101":{"name":"English and Composition I","sections":{"1":{"instructor":"Hakan Güven  Laura Elizabeth Salgın","schedule":{"2":"B-106","3":"B-106","9":"B-106","10":"B-106","14":"B-106","15":"B-106","21":"B-106","22":"B-106","52":"B-106","59":"B-106"}}}},"ENG 102":{"name":"English and Composition II","sections":{"1":{"instructor":"Hümeyra Başol Çetin","schedule":{"0":"B-106","1":"B-106","7":"B-106","8":"B-106","17":"B-106","24":"B-106","50":"B-106","51":"B-106","57":"B-106","58":"B-106"}},"2":{"instructor":"İklil Kaya Yıldırım","schedule":{"2":"G-B07","3":"G-B07","9":"G-B07","10":"G-B07","14":"G-B07","15":"G-B07","21":"G-B07","22":"G-B07","52":"G-B07","59":"G-B07"}},"3":{"instructor":"Ümmü Gaye Ternisien","schedule":{"35":"B-106","36":"B-106","37":"B-106","38":"B-106","39":"B-106","42":"B-106","43":"B-106","44":"B-106","45":"B-106","46":"B-106"}},"4":{"instructor":"Hakan Güven","schedule":{"2":"G-152","3":"G-152","9":"G-152","10":"G-152","14":"G-152","15":"G-152","21":"G-152","22":"G-152","52":"G-152","59":"G-152"}},"5":{"instructor":"Hümeyra Başol Çetin","schedule":{"2":"G-110","3":"G-110","9":"G-110","10":"G-110","14":"G-110","15":"G-110","21":"G-110","22":"G-110","52":"G-110","59":"G-110"}},"6":{"instructor":"İklil Kaya Yıldırım","schedule":{"35":"B-206","36":"B-206","37":"B-206","38":"B-206","39":"B-206","42":"B-206","43":"B-206","44":"B-206","45":"B-206","46":"B-206"}},"7":{"instructor":"Elif Çotuksöken","schedule":{"0":"G-B07","1":"G-B07","7":"G-B07","8":"G-B07","17":"G-B07","24":"G-B07","50":"G-B07","51":"G-B07","57":"G-B07","58":"G-B07"}}}},"ENG 401":{"name":"Technical Report Writing and Presentation","sections":{"1":{"instructor":"Marlene Denice Elwell","schedule":{"2":"G-Z38","9":"G-Z38","14":"G-Z38","21":"G-Z38","52":"G-Z38","59":"G-Z38"}},"2":{"instructor":"Marlene Denice Elwell","schedule":{"0":"G-Z38","7":"G-Z38","17":"G-Z38","24":"G-Z38","50":"G-Z38","57":"G-Z38"}}}}},"FA":{"FA 211":{"name":"Introduction to Painting I","sections":{"1":{"instructor":"Beata Malgorzata Zalewska Sladczyk","schedule":{"9":"FB-320","16":"FB-320","23":"FB-320","49":"FB-320","56":"FB-320","63":"FB-320"}},"2":{"instructor":"Beata Malgorzata Zalewska Sladczyk","schedule":{"7":"FB-320","14":"FB-320","21":"FB-320","52":"FB-320","59":"FB-320","66":"FB-320"}}}},"FA 215":{"name":"Introduction to Sculpture I","sections":{"1":{"instructor":"Ercan Sağlam","schedule":{"8":"FC-123","15":"FC-123","22":"FC-123","53":"FC-123","60":"FC-123","67":"FC-123"}},"2":{"instructor":"Ercan Sağlam","schedule":{"11":"FC-123","18":"FC-123","25":"FC-123","51":"FC-123","58":"FC-123","65":"FC-123"}}}},"FA 217":{"name":"Introduction to Ceramics I","sections":{"1":{"instructor":"Ahmet Özsalar","schedule":{"8":"FE-101","15":"FE-101","22":"FE-101","53":"FE-101","60":"FE-101","67":"FE-101"}},"2":{"instructor":"Ahmet Özsalar","schedule":{"10":"FE-101","17":"FE-101","24":"FE-101","50":"FE-101","57":"FE-101","64":"FE-101"}}}}},"GE":{"GE 301":{"name":"Science Technology and Society","sections":{"1":{"instructor":"Robin Ann Downey","schedule":{"36":"EB-202","38":"EB-202","43":"EB-202","45":"EB-202"}}}}},"GRA":{"GRA 210":{"name":"Web Design","sections":{"1":{"instructor":"Erhan Tunalı","schedule":{"9":"FB-321","16":"FB-321","23":"FB-321","49":"FB-321","56":"FB-321","63":"FB-321"}}}},"GRA 217":{"name":"Motion Graphics","sections":{"1":{"instructor":"Oğuz Akın","schedule":{"10":"FB-314","17":"FB-314","24":"FB-314","50":"FB-314","57":"FB-314","64":"FB-314"}}}}},"HART":{"HART 221":{"name":"Great Discoveries from the Ancient World ","sections":{"1":{"instructor":"Julian Bennett","schedule":{"1":"G-Z52","8":"G-Z52","18":"G-Z52","25":"G-Z52","51":"G-Z52","58":"G-Z52"}}}},"HART 399":{"name":"Summer Practice I","sections":{"1":{"instructor":"Dominique Tezgör Kassab","schedule":{}}}},"HART 401":{"name":"Summer Practice II","sections":{"1":{"instructor":"Dominique Tezgör Kassab","schedule":{}}}},"HART 415":{"name":"Ceramics for Field Archaeologists","sections":{"1":{"instructor":"Müge Durusu Tanrıöver","schedule":{}}}},"HART 531":{"name":"Ceramics for Field Archaeologists","sections":{"1":{"instructor":"Müge Durusu Tanrıöver","schedule":{}}}}},"HCIV":{"HCIV 101":{"name":"History of Civilization I","sections":{"1":{"instructor":"Fevzi Burhan Ayaz","schedule":{"0":"B-Z06","7":"B-Z06","17":"B-Z06","24":"B-Z06","50":"B-Z06","57":"B-Z06"}}}},"HCIV 102":{"name":"History of Civilization II","sections":{"1":{"instructor":"Fevzi Burhan Ayaz","schedule":{"3":"B-112","10":"B-112","15":"B-112","22":"B-112","53":"B-112","60":"B-112"}}}}},"HIST":{"HIST 200":{"name":"History of Turkey ","sections":{"1":{"instructor":"İbrahim Mert Öztürk","schedule":{"1":"B-111","8":"B-111","18":"B-111","25":"B-111","51":"B-111","58":"B-111"}}}}},"HUM":{"HUM 111":{"name":"Cultures Civilizations and Ideas I","sections":{"1":{"instructor":"Paul Elliot Kimball","schedule":{"2":"B-Z05","9":"B-Z05","14":"B-Z05","21":"B-Z05","52":"B-Z05","59":"B-Z05"}},"2":{"instructor":"Paul Elliot Kimball","schedule":{"1":"B-Z05","8":"B-Z05","18":"B-Z05","25":"B-Z05","51":"B-Z05","58":"B-Z05"}}}},"HUM 112":{"name":"Cultures Civilizations and Ideas II","sections":{"1":{"instructor":"Michael Kurt Ozment","schedule":{"1":"G-Z54","8":"G-Z54","18":"G-Z54","25":"G-Z54","51":"G-Z54","58":"G-Z54"}},"2":{"instructor":"Michael Kurt Ozment","schedule":{"3":"G-Z54","10":"G-Z54","15":"G-Z54","22":"G-Z54","53":"G-Z54","60":"G-Z54"}}}}},"IAED":{"IAED 290":{"name":"Summer Practice I","sections":{"1":{"instructor":"Tijen Sonkan Türkkan","schedule":{}}}},"IAED 351":{"name":"Detailing Studio","sections":{"1":{"instructor":"Murat Özdamar","schedule":{"8":"FA-220","15":"FA-220","22":"FA-220","53":"FA-220","60":"FA-220","67":"FA-220"}}}},"IAED 390":{"name":"Summer Practice II","sections":{"1":{"instructor":"Tijen Sonkan Türkkan","schedule":{}}}}},"IE":{"IE 299":{"name":"Summer Training I","sections":{"1":{"instructor":"Nil Şahin","schedule":{}}}},"IE 342":{"name":"Engineering Economic Analysis","sections":{"1":{"instructor":"Milad Malekipirbazari","schedule":{"2":"EA-302","9":"EA-302","14":"EA-302","21":"EA-302","52":"EA-302","59":"EA-302"}}}},"IE 399":{"name":"Summer Training II","sections":{"1":{"instructor":"Bahar Yetiş","schedule":{}}}},"IE 456":{"name":"Reinforcement Learning and Dynamic Programming ","sections":{"1":{"instructor":"Milad Malekipirbazari","schedule":{"0":"B-Z05","7":"B-Z05","17":"B-Z05","24":"B-Z05","50":"B-Z05","57":"B-Z05"}}}},"IE 499":{"name":"Individual Study","sections":{"1":{"instructor":"Savaş Dayanık","schedule":{}}}},"IE 556":{"name":"Reinforcement Learning and Dynamic Programming","sections":{"1":{"instructor":"Milad Malekipirbazari","schedule":{"0":"B-Z02","7":"B-Z02","17":"B-Z02","24":"B-Z02","50":"B-Z02","57":"B-Z02"}}}}},"IELTS":{"IELTS 100":{"name":"International English Language Testing System","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"IR":{"IR 303":{"name":"International Law ","sections":{"1":{"instructor":"Tuğba Bayar","schedule":{"2":"B-Z06","9":"B-Z06","14":"B-Z06","21":"B-Z06","52":"B-Z06","59":"B-Z06"}}}},"IR 399":{"name":"Summer Training","sections":{"1":{"instructor":"Seçkin Köstem","schedule":{}}}},"IR 439":{"name":"Turkish Foreign Policy ","sections":{"1":{"instructor":"Onur Erpul","schedule":{"3":"B-Z06","10":"B-Z06","15":"B-Z06","22":"B-Z06","53":"B-Z06","60":"B-Z06"}}}},"IR 488":{"name":"Security and Strategy","sections":{"1":{"instructor":"Onur Erpul","schedule":{"1":"B-Z06","8":"B-Z06","18":"B-Z06","25":"B-Z06","51":"B-Z06","58":"B-Z06"}}}}},"LAUD":{"LAUD 390":{"name":"Summer Practice III","sections":{"1":{"instructor":"Bülent Batuman","schedule":{}}}}},"LAW":{"LAW 105":{"name":"Civil Law: Introductory Provisions and Natural Persons","sections":{"1":{"instructor":"Mehmet Ali Erten","schedule":{"3":"B-203","10":"B-203","15":"B-203","22":"B-203","53":"B-203","60":"B-203"}}}},"LAW 202":{"name":"Law of Obligations II","sections":{"1":{"instructor":"Vedat Buz","schedule":{"3":"B-113","10":"B-113","15":"B-113","22":"B-113","53":"B-113","60":"B-113"}}}},"LAW 204":{"name":"Criminal Law II","sections":{"1":{"instructor":"Fatma Umay Genç","schedule":{"2":"B-114","9":"B-114","14":"B-114","21":"B-114","52":"B-114","59":"B-114"}}}},"LAW 302":{"name":"Civil Procedure II","sections":{"1":{"instructor":"Alim Taşkın","schedule":{"0":"B-203","7":"B-203","17":"B-203","24":"B-203","50":"B-203","57":"B-203"}}}},"LAW 305":{"name":"Law of Property I","sections":{"1":{"instructor":"Şemsi Barış Özçelik","schedule":{"4":"B-203","11":"B-203","16":"B-203","23":"B-203","49":"B-203","56":"B-203"}}}},"LAW 306":{"name":"Law of Property II","sections":{"1":{"instructor":"Şemsi Barış Özçelik","schedule":{"1":"B-203","8":"B-203","18":"B-203","25":"B-203","51":"B-203","58":"B-203"}}}},"LAW 309":{"name":"Law of Obligations Special Provisions","sections":{"1":{"instructor":"Pınar Altınok Ormancı","schedule":{"2":"B-113","9":"B-113","14":"B-113","21":"B-113","52":"B-113","59":"B-113"}}}},"LAW 358":{"name":"Criminal Law Special Provisions","sections":{"1":{"instructor":"Fatma Umay Genç","schedule":{"4":"B-113","11":"B-113","16":"B-113","23":"B-113","49":"B-113","56":"B-113"}}}},"LAW 403":{"name":"Inheritance Law","sections":{"1":{"instructor":"Gamze Turan Başara","schedule":{"1":"B-114","8":"B-114","18":"B-114","25":"B-114","51":"B-114","58":"B-114"}}}},"LAW 406":{"name":"International Commercial Arbitration","sections":{"1":{"instructor":"Gülüm Özçelik","schedule":{"36":"B-113","38":"B-113","43":"B-113","45":"B-113"}}}},"LAW 410":{"name":"Enforcement and Bankruptcy Law","sections":{"1":{"instructor":"Emel Hanağası","schedule":{"2":"B-203","9":"B-203","14":"B-203","21":"B-203","52":"B-203","59":"B-203"}}}},"LAW 411":{"name":"Criminal Procedure ","sections":{"1":{"instructor":"Devrim Güngör","schedule":{"0":"B-114","7":"B-114","17":"B-114","24":"B-114","50":"B-114","57":"B-114"}}}}},"LNG":{"LNG 111":{"name":"Spanish I","sections":{"1":{"instructor":"Mariela Del Carmen Aguirre Fidan","schedule":{"35":"G-Z55","36":"G-Z55","37":"G-Z55","38":"G-Z55","42":"G-Z55","43":"G-Z55","44":"G-Z55","45":"G-Z55"}}}},"LNG 121":{"name":"French I","sections":{"1":{"instructor":"Hasan Morkoç","schedule":{"35":"G-Z52","36":"G-Z52","37":"G-Z52","38":"G-Z52","42":"G-Z52","43":"G-Z52","44":"G-Z52","45":"G-Z52"}}}},"LNG 131":{"name":"German I","sections":{"1":{"instructor":"Nurhan Turgut","schedule":{"35":"G-Z53","36":"G-Z53","37":"G-Z53","38":"G-Z53","42":"G-Z53","43":"G-Z53","44":"G-Z53","45":"G-Z53"}}}}},"MAN":{"MAN 102":{"name":"Introduction to Business II","sections":{"1":{"instructor":"Özgür Tolga Baycan","schedule":{"4":"B-305","11":"B-305","16":"B-305","23":"B-305","49":"B-305","56":"B-305"}}}},"MAN 256":{"name":"Introduction to Management Science","sections":{"1":{"instructor":"Bo Wei","schedule":{"1":"MA-105","8":"MA-105","18":"MA-105","25":"MA-105","51":"MA-105","58":"MA-105"}}}},"MAN 335":{"name":"Fundamentals of Marketing","sections":{"1":{"instructor":"Ahmet Ekici","schedule":{"2":"MA-201","9":"MA-201","14":"MA-201","21":"MA-201","52":"MA-201","59":"MA-201"}}}},"MAN 399":{"name":"Summer Practice","sections":{"1":{"instructor":"Özgür Tolga Baycan","schedule":{}}}},"MAN 436":{"name":"Services Marketing","sections":{"1":{"instructor":"Ahmet Ekici","schedule":{"0":"MA-201","7":"MA-201","17":"MA-201","24":"MA-201","50":"MA-201","57":"MA-201"}}}}},"MATH":{"MATH 102":{"name":"Calculus II","sections":{"1":{"instructor":"Mehmet Okan Tekman","schedule":{"35":"V-02","36":"V-02","37":"V-02","38":"V-02","42":"V-02","43":"V-02","44":"V-02","45":"V-02"}},"2":{"instructor":"Hamza Yeşilyurt","schedule":{"2":"SA-Z18","9":"SA-Z18","14":"SA-Z18","21":"SA-Z18","39":"SA-Z18","46":"SA-Z18","52":"SA-Z18","59":"SA-Z18"}},"3":{"instructor":"Ahmet Muhtar Güloğlu","schedule":{"0":"SB-Z03","7":"SB-Z03","17":"SB-Z03","24":"SB-Z03","39":"SB-Z03","46":"SB-Z03","50":"SB-Z03","57":"SB-Z03"}}}},"MATH 241":{"name":"Engineering Mathematics I","sections":{"1":{"instructor":"Nil Şahin","schedule":{"2":"EB-204","9":"EB-204","14":"EB-204","21":"EB-204","39":"EB-204","46":"EB-204","52":"EB-204","59":"EB-204"}}}},"MATH 242":{"name":"Engineering Mathematics II","sections":{"1":{"instructor":"Nil Şahin","schedule":{"35":"EB-204","36":"EB-204","37":"EB-204","38":"EB-204","42":"EB-204","43":"EB-204","44":"EB-204","45":"EB-204"}}}},"MATH 291":{"name":"Summer Project I","sections":{"1":{"instructor":"Özgün Ünlü","schedule":{}}}},"MATH 498":{"name":"Individual Study","sections":{"1":{"instructor":"Anargyros Katsampekis","schedule":{}}}},"MATH 499":{"name":"Individual Study","sections":{"1":{"instructor":"Alexandre Goncharov","schedule":{}}}}},"MBG":{"MBG 391":{"name":"Summer Practice II","sections":{"1":{"instructor":"Özhan Öçal","schedule":{}}}}},"ME":{"ME 299":{"name":"Summer Practice I","sections":{"1":{"instructor":"Şakir Baytaroğlu","schedule":{}}}},"ME 399":{"name":"Summer Practice II","sections":{"1":{"instructor":"Şakir Baytaroğlu","schedule":{}}}},"ME 499":{"name":"Individual Study","sections":{"1":{"instructor":"Barbaros Çetin","schedule":{}},"2":{"instructor":"Şerif Faruk Arınç","schedule":{}}}}},"PHIL":{"PHIL 243":{"name":"Social and Political Philosophy I","sections":{"1":{"instructor":"Yehezkel S. Berkovski  John William Day","schedule":{"1":"G-107","2":"G-107","8":"G-107","9":"G-107","14":"G-107","18":"G-107","21":"G-107","25":"G-107","51":"G-107","52":"G-107","58":"G-107","59":"G-107"}},"2":{"instructor":"Yehezkel S. Berkovski  John William Day","schedule":{"1":"G-106","2":"G-106","8":"G-106","9":"G-106","14":"G-106","18":"G-106","21":"G-106","25":"G-106","51":"G-106","52":"G-106","58":"G-106","59":"G-106"}}}},"PHIL 244":{"name":"Social and Political Philosophy II","sections":{"1":{"instructor":"Istvan Albert Aranyosi  Jeffrey Michael Doonan","schedule":{"1":"G-110","2":"G-B40","8":"G-110","9":"G-B40","14":"G-B40","18":"G-110","21":"G-B40","25":"G-110","51":"G-110","52":"G-B40","58":"G-110","59":"G-B40"}},"2":{"instructor":"Jeffrey Michael Doonan  Tufan Kıymaz","schedule":{"1":"G-B40","2":"G-109","8":"G-B40","9":"G-109","14":"G-109","18":"G-B40","21":"G-109","25":"G-B40","51":"G-B40","52":"G-109","58":"G-B40","59":"G-109"}}}}},"PHYS":{"PHYS 101":{"name":"General Physics I","sections":{"1":{"instructor":"Bilal Tanatar","schedule":{"3":"SB-Z03","10":"SB-Z03","15":"SB-Z03","22":"SB-Z03","38":"N/A","45":"N/A","52":"N/A","53":"SB-Z03","60":"SB-Z03"}}}},"PHYS 102":{"name":"General Physics II","sections":{"1":{"instructor":"Seymur Jahangirov","schedule":{"1":"SB-Z03","8":"SB-Z03","18":"SB-Z03","25":"SB-Z03","38":"N/A","45":"N/A","51":"SB-Z03","52":"N/A","58":"SB-Z03"}},"2":{"instructor":"Ceren Sibel Sayın","schedule":{"2":"SA-Z01","9":"SA-Z01","14":"SA-Z01","21":"SA-Z01","37":"N/A","44":"N/A","51":"N/A","52":"SA-Z01","59":"SA-Z01"}}}},"PHYS 291":{"name":"Summer Practice","sections":{"1":{"instructor":"Onur Tokel","schedule":{}}}},"PHYS 491":{"name":"Senior Project I","sections":{"1":{"instructor":"Oğuz Gülseren","schedule":{}}}}},"POLS":{"POLS 101":{"name":"Introduction to Political Science I","sections":{"1":{"instructor":"John James Alexander","schedule":{"0":"B-Z07","7":"B-Z07","17":"B-Z07","24":"B-Z07","50":"B-Z07","57":"B-Z07"}}}},"POLS 104":{"name":"Introduction to Political Science II","sections":{"1":{"instructor":"Pınar Akdeniz","schedule":{"4":"B-Z07","11":"B-Z07","16":"B-Z07","23":"B-Z07","49":"B-Z07","56":"B-Z07"}}}},"POLS 399":{"name":"Summer Training","sections":{"1":{"instructor":"Staff","schedule":{}}}},"POLS 483":{"name":"Liberalism and Socialism: Past and Present","sections":{"1":{"instructor":"John James Alexander","schedule":{"2":"B-Z07","9":"B-Z07","14":"B-Z07","21":"B-Z07","52":"B-Z07","59":"B-Z07"}}}},"POLS 498":{"name":"Individual, Society and Violence","sections":{"1":{"instructor":"Esra Dilek","schedule":{"1":"B-Z07","8":"B-Z07","18":"B-Z07","25":"B-Z07","51":"B-Z07","58":"B-Z07"}}}}},"PREP":{"PREP 131":{"name":"Intermediate ","sections":{"501":{"instructor":"Fidan Bahar Altaş  Meltem Deniz Moran","schedule":{}},"502":{"instructor":"Bilge Çöllüoğlu Yakar  Hülya Can  Fidan Bahar Altaş","schedule":{}}}},"PREP 141":{"name":"Upper-intermediate","sections":{"501":{"instructor":"Seda Özdoğan  Hülya Can","schedule":{}},"502":{"instructor":"Ecem İşbilir  İrem Arıcan","schedule":{}}}},"PREP 151":{"name":"Pre- faculty","sections":{"501":{"instructor":"Zeynep Kireçci  Samime Çelik Aktaş  Micaela Kim Richter","schedule":{}},"502":{"instructor":"Samime Çelik Aktaş  Ozan Ekici","schedule":{}},"503":{"instructor":"Gökçen Işık  Bilal İnci","schedule":{}}}},"PREP 160":{"name":"PAE Practice Course ","sections":{"501":{"instructor":"Nurdan Yeşil  Ayşe Funda Gökçe  Jessica Mary Killaspy","schedule":{}},"502":{"instructor":"Ebru Atakurt  Ayşegül Utku  Anthony James Scott","schedule":{}},"503":{"instructor":"Ayşe Özmen Özdemir  Seçil Chouseinoglu Canbaz  Suphi Burak Üskent","schedule":{}},"504":{"instructor":"Neşe Ayşe Çelik  Füsun Taşkesen  Daniel Jack Williamson","schedule":{}},"505":{"instructor":"Ebru Emine Ecer  Gülcan Kuyumcu  Daniel Jack Williamson","schedule":{}}}}},"PSYC":{"PSYC 100":{"name":"Introduction to Psychology","sections":{"1":{"instructor":"Kaan Kerman","schedule":{"0":"B-111","7":"B-111","17":"B-111","24":"B-111","50":"B-111","57":"B-111"}}}},"PSYC 205":{"name":"Statistics II","sections":{"1":{"instructor":"Sezer Kadayıfçılar","schedule":{"0":"G-136","7":"G-136","17":"G-136","24":"G-136","50":"G-136","57":"G-136"}}}},"PSYC 399":{"name":"Summer Training","sections":{"1":{"instructor":"Selin Salman Engin","schedule":{}}}}},"SFL":{"SFL 392":{"name":"Common European Framework of Reference Level B2","sections":{"1":{"instructor":"Staff","schedule":{}}}}},"SOC":{"SOC 101":{"name":"Introduction to Sociology","sections":{"1":{"instructor":"Esra Dilek","schedule":{"3":"B-Z07","10":"B-Z07","15":"B-Z07","22":"B-Z07","53":"B-Z07","60":"B-Z07"}}}}},"TRIN":{"TRIN 390":{"name":"Summer Practice","sections":{"1":{"instructor":"Staff","schedule":{}}}},"TRIN 499":{"name":"Individual Study","sections":{"1":{"instructor":"Füsun Ataseven","schedule":{}}}}},"TURK":{"TURK 102":{"name":"Turkish II","sections":{"1":{"instructor":"Adem Gergöy","schedule":{}},"2":{"instructor":"Adem Gergöy","schedule":{}}}}}} --------------------------------------------------------------------------------