Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
executable file 9049 lines (9048 sloc) 464 KB
{
"timestamp": "2017-08-03T00:12:04.411Z",
"collections": [
{
"name": "AcademicPlanCollection",
"contents": [
{
"slug": "ba-ics-2015",
"degreeSlug": "ba-ics",
"name": "B.A. in Information and Computer Sciences (2015)",
"description": "The general BA in ICS offers a firm foundation in computer science and allows students to apply computer science to an area of concentration.",
"semester": "Fall-2015",
"coursesPerSemester": [
2,
2,
0,
2,
2,
0,
2,
2,
0,
1,
1,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_212-1",
"ics_311-1",
"ics_312,ics_331-1",
"ics_321-1",
"ics_313,ics_361-1",
"ics_400+-1",
"ics_332-1",
"ics_400+-2",
"ics_400+-3",
"ics_400+-4"
]
},
{
"slug": "ba-ics-2016",
"degreeSlug": "ba-ics",
"name": "B.A. in Information and Computer Sciences (2016)",
"description": "The general BA in ICS offers a firm foundation in computer science and allows students to apply computer science to an area of concentration.",
"semester": "Fall-2016",
"coursesPerSemester": [
2,
2,
0,
2,
2,
0,
1,
1,
0,
1,
1,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_311-1",
"ics_314-1",
"ics_212-1",
"ics_321-1",
"ics_312,ics_331-1",
"ics_400+-1",
"ics_313,ics_361-1",
"ics_332-1"
]
},
{
"slug": "ba-ics-2017",
"degreeSlug": "ba-ics",
"name": "B.A. in Information and Computer Sciences (2017)",
"description": "The general BA in ICS offers a firm foundation in computer science and allows students to apply computer science to an area of concentration.",
"semester": "Fall-2017",
"coursesPerSemester": [
2,
2,
0,
2,
2,
0,
1,
1,
0,
1,
1,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_311-1",
"ics_314-1",
"ics_212-1",
"ics_321-1",
"(ics_312,ics_331),(ics_313,ics_361),(ics_351,ics_451),ics_355-1",
"ics_332-1",
"(ics_312,ics_331),(ics_313,ics_361),(ics_351,ics_451),ics_355-2",
"ics_400+-1"
]
},
{
"slug": "ba-ics-it-2015",
"degreeSlug": "ba-ics",
"name": "B.A. in Computer Sciences IT Focus (2015)",
"description": "The BA in ICS with an IT Focus puts less emphasis on programming and more on administration of computer systems and networks, and on information assurance.",
"semester": "Fall-2015",
"coursesPerSemester": [
2,
1,
0,
2,
2,
0,
2,
3,
0,
3,
2,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_212,ics_215-1",
"ics_314-1",
"ics_414-1",
"ics_415-1",
"ics_321-1",
"ics_332-1",
"ics_351-1",
"ics_425-1",
"ics_464-1",
"ics_426-1",
"ics_300+-1",
"ics_300+-2",
"ics_300+-3",
"ics_300+-4"
]
},
{
"slug": "ba-ics-it-2016",
"degreeSlug": "ba-ics",
"name": "B.A. in ICS IT Focus (2016)",
"description": "The BA in ICS with an IT Focus puts less emphasis on programming and more on administration of computer systems and networks, and on information assurance.",
"semester": "Fall-2016",
"coursesPerSemester": [
2,
3,
0,
2,
2,
0,
2,
2,
0,
3,
3,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_222-1",
"ics_311-1",
"ics_314-1",
"ics_414-1",
"ics_355-1",
"ics_321-1",
"ics_212-1",
"ics_351-1",
"ics_425-1",
"ics_300+-1",
"ics_426-1",
"ics_415-1",
"ics_300+-2",
"ics_332-1",
"ics_464-1"
]
},
{
"slug": "ba-ics-it-2017",
"degreeSlug": "ba-ics",
"name": "B.A. in Computer Sciences IT Focus (2017)",
"description": "The BA in ICS with an IT Focus puts less emphasis on programming and more on administration of computer systems and networks, and on information assurance.",
"semester": "Fall-2017",
"coursesPerSemester": [
2,
3,
0,
2,
3,
0,
2,
2,
0,
2,
1,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_222-1",
"ics_311-1",
"ics_314-1",
"ics_321-1",
"ics_355-1",
"ics_212,ics_215-1",
"ics_414-1",
"ics_332-1",
"ics_351,ics_451-1",
"ics_425-1",
"ics_415-1",
"ics_426-1",
"ics_464-1"
]
},
{
"slug": "ba-ics-ss-2016",
"degreeSlug": "ba-ics",
"name": "B.A. in ICS Security Science Focus (2016)",
"description": "The BA in ICS with a Security Science focus provides strength in both computer science and the science of computer security to prepare students for work in this exciting new area dealing with cyber security and information assurance.",
"semester": "Fall-2016",
"coursesPerSemester": [
2,
3,
0,
2,
2,
0,
2,
2,
0,
2,
1,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_222-1",
"ics_311-1",
"ics_314-1",
"ics_355-1",
"ics_414-1",
"ics_455-1",
"ics_212-1",
"ics_321,ics_332,ics_351-1",
"ics_441,ics_451-1",
"ics_415,ics_423-1",
"ics_321,ics_332,ics_351-2",
"ics_425,ics_426,ics_491,ics_495-1"
]
},
{
"slug": "ba-ics-ss-2017",
"degreeSlug": "ba-ics",
"name": "B.A. in ICS Security Science Focus (2017)",
"description": "The BA in ICS with a Security Science focus provides strength in both computer science and the science of computer security to prepare students for work in this exciting new area dealing with cyber security and information assurance.",
"semester": "Fall-2017",
"coursesPerSemester": [
2,
3,
0,
2,
2,
0,
2,
2,
0,
2,
1,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_222-1",
"ics_311-1",
"ics_314-1",
"ics_212-1",
"ics_355-1",
"ics_321-1",
"ics_332-1",
"ics_423,ics_425,ics_426,ics_455,ics_495,ee_406-1",
"ics_351,ics_451-1",
"ics_423,ics_425,ics_426,ics_455,ics_495,ee_406-2",
"ics_423,ics_425,ics_426,ics_455,ics_495,ee_406-3",
"ics_423,ics_425,ics_426,ics_455,ics_495,ee_406-4"
]
},
{
"slug": "bs-ce-2017",
"degreeSlug": "bs-ce",
"name": "B.S. in Computer Engineering (2017)",
"description": "The BS in CompE is devoted to computer hardware and software, computer organization and architecture, computer security, software engineering, computer networks and Internet technology, emedded systems, computer-aided design, multi-core and parallel computing, wireless networks, as well as other topics. The program is in the Department of Electrical Engineering.",
"semester": "Fall-2017",
"coursesPerSemester": [
0,
1,
0,
3,
2,
0,
4,
4,
0,
4,
4,
0
],
"courseList": [
"ee_160-1",
"ee_211-1",
"ee_260-1",
"ee_296-1",
"ee_205-1",
"ee_213-1",
"ee_324-1",
"ee_361-1",
"ee_362-1",
"ee_371-1",
"ee_315-1",
"ee_323-1",
"ee_367,ics_311-1",
"ee_396-1",
"ee_342-1",
"ee_467,ics_314-1",
"ee_468-1",
"ee_300+,ics_300+-1",
"ee_495-1",
"ee_496-1",
"ee_300+,ics_300+-2",
"cee_270,me_311,cee_300+,me_300+,oe_300+,be_300+-1"
]
},
{
"slug": "bs-cs-2015",
"degreeSlug": "bs-cs",
"name": "B.S. in Computer Science (2015)",
"description": "The BS in CS degree offers a solid foundation in computer science. This degree provides students the opportunity to focus in an area of concentration with in the computer science field.",
"semester": "Fall-2015",
"coursesPerSemester": [
2,
2,
0,
2,
2,
0,
2,
2,
0,
2,
2,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_212-1",
"ics_311-1",
"ics_312,ics_331-1",
"ics_321-1",
"ics_313,ics_361-1",
"ics_314-1",
"ics_332-1",
"ics_400+-1",
"ics_400+-2",
"ics_400+-3",
"ics_400+-4",
"ics_400+-5"
]
},
{
"slug": "bs-cs-2016",
"degreeSlug": "bs-cs",
"name": "B.S. in Computer Sciences (2016)",
"description": "The BS in CS degree offers a solid foundation in computer science. This degree provides students the opportunity to focus in an area of concentration with in the computer science field.",
"semester": "Fall-2016",
"coursesPerSemester": [
2,
2,
0,
2,
2,
0,
2,
2,
0,
2,
2,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_311-1",
"ics_314-1",
"ics_212-1",
"ics_321-1",
"ics_312,ics_331-1",
"ics_313,ics_361-1",
"ics_332-1",
"ics_400+-1",
"ics_400+-2",
"ics_400+-3",
"ics_400+-4",
"ics_400+-5"
]
},
{
"slug": "bs-cs-2017",
"degreeSlug": "bs-cs",
"name": "B.S. in Computer Sciences (2017)",
"description": "The BS in CS degree offers a solid foundation in computer science. This degree provides students the opportunity to focus in an area of concentration with in the computer science field.",
"semester": "Fall-2017",
"coursesPerSemester": [
2,
2,
0,
2,
2,
0,
2,
2,
0,
2,
2,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_311-1",
"ics_314-1",
"ics_212-1",
"ics_321-1",
"(ics_312,ics_331),(ics_313,ics_361),ics_355-1",
"(ics_312,ics_331),(ics_313,ics_361),ics_355-2",
"ics_332-1",
"ics_400+-1",
"ics_400+-2",
"ics_400+-3",
"ics_400+-4",
"ics_400+-5"
]
},
{
"slug": "bs-cs-ss-2016",
"degreeSlug": "bs-cs",
"name": "B.S. in Computer Sciences Security Sciences (2016)",
"description": "The BS in CS SecSci degree offers a solid foundation in computer science with a focus in cyer security. This degree provides students the opportunity to focus in this area of concentration with in the computer science field.",
"semester": "Fall-2016",
"coursesPerSemester": [
2,
3,
0,
2,
2,
0,
1,
2,
0,
2,
2,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_222-1",
"ics_311-1",
"ics_314-1",
"ics_212-1",
"ics_355-1",
"ics_455-1",
"ics_321,ics_332,(ics_415,ics_351)-1",
"ics_414,ics_464-1",
"ics_321,ics_332,(ics_415,ics_351)-2",
"ics_423-1",
"ics_425,ics_426-1",
"ics_491,ics_495-1"
]
},
{
"slug": "bs-cs-ss-2017",
"degreeSlug": "bs-cs",
"name": "B.S. in Computer Science Security Science (2017)",
"description": "The BS in CS SecSci degree offers a solid foundation in computer science with a focus in cyer security. This degree provides students the opportunity to focus in this area of concentration with in the computer science field.",
"semester": "Fall-2017",
"coursesPerSemester": [
2,
3,
0,
2,
2,
0,
2,
3,
0,
2,
1,
0
],
"courseList": [
"ics_111-1",
"ics_141-1",
"ics_211-1",
"ics_241-1",
"ics_222-1",
"ics_311-1",
"ics_314-1",
"ics_212-1",
"ics_355-1",
"ics_351,ics_451-1",
"ics_321-1",
"ics_423,ics_425,ics_426,ics_455,ics_495,ee_406-1",
"ics_351,ics_451-1",
"ics_332-1",
"ics_423,ics_425,ics_426,ics_455,ics_495,ee_406-2",
"ics_423,ics_425,ics_426,ics_455,ics_495,ee_406-3",
"ics_423,ics_425,ics_426,ics_455,ics_495,ee_406-4"
]
}
]
},
{
"name": "AdvisorLogCollection",
"contents": [
{
"student": "abi@hawaii.edu",
"advisor": "glau@hawaii.edu",
"text": "Set up RadGrad account. Congratulations on your Level 1 RadGrad sticker! Check out the GreyHats meeting every Friday afternoon if you are still interested in learning about security.",
"createdOn": "2014-08-26T20:52:13.660Z"
},
{
"student": "abi@hawaii.edu",
"advisor": "glau@hawaii.edu",
"text": "Updated RadGrad STAR data. Congratulations on leveling up to Level 2! Keep up the good work.",
"createdOn": "2015-01-09T19:15:13.660Z"
},
{
"student": "abi@hawaii.edu",
"advisor": "glau@hawaii.edu",
"text": "Updated RadGrad STAR data. Congratulations on leveling up to Level 3!",
"createdOn": "2015-08-24T22:19:13.660Z"
},
{
"student": "abi@hawaii.edu",
"advisor": "glau@hawaii.edu",
"text": "Make sure to sign up for ICS212 and ICS321 next semester to fulfill prerequisites for upper level courses.",
"createdOn": "2015-11-06T20:56:13.660Z"
},
{
"student": "abi@hawaii.edu",
"advisor": "glau@hawaii.edu",
"text": "Updated RadGrad STAR data. Congratulations on leveling up to Level 4! I recommend you check out the GenCyber Internship for this summer.",
"createdOn": "2016-01-26T20:32:13.660Z"
},
{
"student": "abi@hawaii.edu",
"advisor": "glau@hawaii.edu",
"text": "Updated RadGrad STAR data. Congratulations on leveling up to Level 5!",
"createdOn": "2016-08-30T19:56:13.660Z"
},
{
"student": "abi@hawaii.edu",
"advisor": "glau@hawaii.edu",
"text": "Updated RadGrad STAR data. Keep up the good work! Still on track to graduate Spring 2018.",
"createdOn": "2017-01-11T21:54:13.660Z"
}
]
},
{
"name": "AdvisorProfileCollection",
"contents": [
{
"username": "glau@hawaii.edu",
"firstName": "Gerald",
"lastName": "Lau",
"picture": "/images/mockup/glau.jpg",
"website": null,
"interests": [
"application-development",
"it-management",
"security",
"teaching"
],
"careerGoals": [
"graduate-school",
"information-security-analyst",
"teacher"
]
},
{
"username": "cmoore@hawaii.edu",
"firstName": "Cam",
"lastName": "Moore",
"picture": "/images/mockup/cmoore.jpg",
"website": null,
"interests": [
"research",
"software-engineering"
],
"careerGoals": [
"devops-engineer"
]
}
]
},
{
"name": "CareerGoalCollection",
"contents": [
{
"name": "Data Scientist",
"slug": "data-scientist",
"interests": [
"algorithms",
"data-science",
"databases",
"machine-learning",
"research"
],
"description": "A data scientist analyzes and interprets extremely complex and large data sets, typically in order to assist an organization in its decision making. Unlike traditional database engineers, data scientists must manage Big Data, which is typified by the following \"Three V's\":\n\n* Volume: from hundreds of millions to hundreds of billions of data points;\n* Velocity: data may arrive at high speed and must be dealt with in a timely manner; \n* Variety: data can range from structured to unstructured, and maybe be buggy or incomplete.\n\nCompanies like LinkedIn, Intuit, GE, Google, Zynga, and Netflix all employ data scientists to support their services. The skills and tools used by a data scientist are extensive, and include:\n\n * Languages, including a statistical programming language like R or Python and a database querying language like SQL. \n * Statistical knowledge, including statistical tests, distributions, maximum likelihood estimators, etc. \n * Machine learning methods, including k-nearest neighbors, random forests, and ensemble methods.\n * Mathematics, including basic multivariate calculus and linear algebra in case you need to customize machine learning libraries.\n * Visualization and communication, including describing your findings to both technical and non-technical audiences and use of data visualization tools like ggplot and d3.js. \n\nTo prepare for the Data Scientist career path, you will want to be proficient with algorithms ([ICS 311](../courses/ics311)) and machine learning techniques ([ICS 435](../courses/ics435)). Obviously, you will want to take both database courses: [ICS 321](../courses/ics321) and [ICS 421](../courses/ics421). You may want to explore data visualization ([ICS 484](../courses/ics484)). A research project that involves machine learning and/or \"big data\" techniques will provide valuable experience. You might consider a summer internship with a company like LinkedIn or Google where you can work with data scientists directly. \n\nFinally, if you are serious about becoming a data scientist, you should add [Graduate School](graduate-school) as a career goal. Most data scientists have a Ph.D. in Computer Science or some other STEM discipline.\n\nData Scientist was named [one of the 14 best tech jobs in America](http://www.cio.com/article/3167568/it-skills-training/14-best-tech-jobs-in-america.html#slide2). [View more information here.](https://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century/)"
},
{
"name": "Database Administrator",
"slug": "database-administrator",
"interests": [
"application-development",
"databases",
"software-engineering"
],
"description": "Companies, private organizations, and government agencies rely on database administrators (DBAs) to organize and monitor financial records, employee profiles, and other sensitive information. These professionals also work to improve security and efficiency through testing, regular evaluation, and routine modifications. \n\nDBAs may be employed in-house at larger firms or organizations, but an increasing number of these professionals are finding work at third-party companies that specialize in database services. \n\nYou will need to be experienced with a variety of database platforms including MySQL, Oracle, and DB2. \n\nDBAs typically do not work with \"Big Data\", which requires a different set of skills associated with the [data scientist](data-scientist) career goal.\n\nIf you want to prepare for jobs in database administration, you will want to take both semesters of Databases ([ICS 321](../courses/ics321) and [ICS 421](../courses/ics421)). Networking and security classes will also be important preparation.\n\nDatabase Administrator was named [one of the 14 best tech jobs in America](http://www.cio.com/article/3167568/it-skills-training/14-best-tech-jobs-in-america.html#slide6). [View more information here.](http://www.bls.gov/ooh/computer-and-information-technology/database-administrators.htm)"
},
{
"name": "DevOps Engineer",
"slug": "devops-engineer",
"interests": [
"application-development",
"databases",
"networks",
"software-engineering"
],
"description": "\"DevOps\" (short for \"development operations\") is a new and important specialization within software engineering. It refers to tools, technologies, and development processes in support of high speed application design, implementation, deployment, evolution, and scaling. Put more simply, a DevOps engineer makes sure that business systems get deployed fast, stay up under heavy loads, are not hacked (or can be fixed quickly if hacked), and can be updated without loss of downtime. \n\nAccording to the [2015 State of DevOps report](http://puppetlabs.com/2015-devops-report), organizations using DevOps deploy code up to 30 times more frequently with 50% less deployment failures than those who do not.\n\nTo prepare for a career in DevOps, you need to start with software engineering ([ICS 314](../courses/ics314)). Build on that base with coursework in databases ([ICS 321](../courses/ics321)) and networks ([ICS 351](../courses/ics351)). Finally, put all of that together with experience deploying applications in real-world, high stress situations. That requires finding a summer internship where you can shadow experienced DevOps engineers as they do their daily work.\n\nDevOps Engineer was named [one of the 10 hottest developer jobs in 2017](http://www.techrepublic.com/article/the-10-hottest-developer-jobs-of-2017/). [View more information here.](https://puppet.com/blog/what-a-devops-engineer)"
},
{
"name": "Full Stack Developer",
"slug": "full-stack-developer",
"interests": [
"databases",
"software-engineering",
"web-development"
],
"description": "Full Stack Developer is a career goal focused on the design and implementation of web applications. \"Full stack\" refers to a broad skill set that starts with front-end user interface design using a CSS framework such as Twitter Bootstrap or Semantic UI, proceeds through business logic implementation using Java, Javascript, Python, Ruby, C#, or some other programming language, and concludes with the design and implementation of a back-end database system using SQL, MongoDB, or some other variant. \n\nIn addition, full stack developers must ensure that the application performs appropriately across multiple devices (laptops, tablets, and mobile). Full stack developers must often ensure that their design is scalable as usage increases. \n\nTo prepare for this career goal, supplement your skills acquired inSoftware Engineering ([ICS 314](../courses/ics314)) with other coursework including Databases ([ICS 321](../courses/ics321)) and (perhaps) Design for Mobile Devices ([ICS 466](../courses/ics466)). You might also want to do a summer internship with a business doing web application development to hone your skills and obtain experience in a \"real-world\" application development setting.\n\nFull Stack Developer was named one of the [Top 5 Hot IT Jobs in 2017](https://www.randstadusa.com/jobs/career-resources/hot-jobs-2017/best-in-demand-information-technology-jobs/). [View more information here.](http://www.bls.gov/ooh/computer-and-information-technology/web-developers.htm)"
},
{
"name": "Game Developer",
"slug": "game-developer",
"interests": [
"computer-graphics",
"databases",
"game-design",
"unity",
"virtual-reality"
],
"description": "The Game Developer career goal refers to a specialized form of Software Developer who focuses on game design and implementation. This is a challenging career path as it is both highly competitive and, depending upon the game, can require advanced skills including one or more of: graphic design, physics, algorithms, networking, UI design, hardware, device driver and OS-level programming, and the appropriate use of game mechanics to provide an entertaining and/or educational experience. That said, being a Game Developer is totally cool and you should totally go for it.\n\nAs the above paragraph indicates, game development in general involves an intimidating level of both breadth and depth in knowledge. But you don't need to know everything to get started. To be well prepared for this career goal, it helps to start by developing a solid analytical background through coursework in math, physics, and algorithms ([ICS 311](../courses/ics311)), then add solid programming skills including high level (software engineering ([ICS 3114](../courses/ics314))) and low-level ([ICS 312](../courses/ics312)), plus databases ([ICS 321](../courses/ics321)). If you are interested in designing games involving an AI, then you'll want basic AI ([ICS 361](../courses/ics361)) as well as AI for Games ([ICS 462](../courses/ics462)). Cap it off with Video Game Design and Development ([ICS 485](../courses/ics485)). \n\nYou should also take advantage of opportunities outside of the classroom to experience game development, such as the yearly Global Game Jam. There are often summer internships at companies doing game design that can provide invaluable \"real-world\" experience and help you decide if this career path is for you. [View more information here.](http://study.com/articles/Game_Developer_Job_Description_Duties_and_Requirements.html)"
},
{
"name": "Graduate School",
"slug": "graduate-school",
"interests": [
"research"
],
"description": "Let's be frank: if you are considering a long-term career in computer science, then graduate school should one of your career goals. This doesn't mean you need to go right back to school after you graduate; many if not most graduate students in computer science spent at least a few years working before returning to school. But obtaining an M.S. or Ph.D. in Computer Science at some point can open up many new opportunities in your professional career. \n\nThe basic difference between an M.S. and Ph.D. degree is \"scientific contribution\". An M.S. degree enables you to obtain more advanced skills in any of the CS disciplines. M.S. programs are typically two years long. A Ph.D. degree adds the requirement that you develop a dissertation that documents a scientific contribution: some entirely new knowledge about computer science. The Ph.D. degree typically requires at least two to four additional years after the M.S. degree. \n\nTo prepare to include graduate school at some point after you graduate, the most important thing to do is to plan one or more semesters where you participate in a research project with a professor. You can do this via [ICS 499](../courses/ics499), or even on a volunteer basis as long as you devote sufficient time to the project. This is important for two reasons. First, successful participation demonstrates to the people who later review your graduate school application that you are able to do graduate-level work, which is usually more independent and research-related. Second, it enables your professor to get to know you on a more personal level and in the context of an independent project, not just a few homework assignments. This will enable your professor to write you a strong recommendation letter, which is crucial to getting accepted to graduate school. [View more information here.](hhttp://www.ics.hawaii.edu/academics/graduate-degree-programs/so-you-want-to-apply-to-graduate-school/)"
},
{
"name": "Information Security Analyst",
"slug": "information-security-analyst",
"interests": [
"databases",
"networks",
"security"
],
"description": "In RadGrad, the \"information security analyst\" career goal is intended to cover the wide variety of security-related positions, including Security Analyst, Security Architect, Security Software Developer, Cryptanalyst, Security Engineer, Security Administrator, Cryptographer, and Security Consultant. \n\nSecurity professionals range from \"ethical hackers\" who probe and exploit security vulnerabilities in web-based applications and network systems to cryptographers who analyze and decrypt hidden information from cyber-terrorists. There are jobs in security in virtually every industry, as well as in government. \n\nThe ICS degree program offers many opportunities to develop security-related expertise. We offer the [Security Science Focus](http://www.ics.hawaii.edu/academics/undergraduate-degree-programs/) which includes [ICS 355](../courses/ics355), [ICS 455](../courses/ics455), and (for motivated undergraduates) ICS 655. We offer two courses related to Information Assurance ([ICS 425](../courses/ics425) and [ICS 426](../courses/ics426)). You will also want to take at least one course in networking and one course in databases.\n\nIf you are interested in a career in security, we also recommend that you participate in [ICS GreyHats](http://www.ics.hawaii.edu/community/community-profile-the-ics-grey-hats/), a student club providing a venue for networking with industry and government, performing community service, and practical application of security skills in a supportive environment.\n\nFinally, the ICS Department sponsors a variety of security-related hackathons and contests every year. These also provide important learning opportunities in security.\n\nSecurity Engineer (a synonym for Information Security Analyst) was named one of the [Top 5 Hot IT Jobs in 2017](https://www.randstadusa.com/jobs/career-resources/hot-jobs-2017/best-in-demand-information-technology-jobs/). [View more information here.](http://www.bls.gov/ooh/computer-and-information-technology/information-security-analysts.htm)"
},
{
"name": "Information System Manager",
"slug": "information-system-manager",
"interests": [
"it-management"
],
"description": "The Information System Manager career goal combines computer science with business management. In RadGrad, Information Systems Manager is an umbrella term for a variety of positions such as Chief Information Officer, Chief Technology Officer, and IT or MIS Director. \n\nDepending upon the specific position, your responsibilities will include planning and coordination of computer-related business functions, defining technology strategy, and/or evaluating new technology. The positions tend to involve supervision of other employees and determining the financial implications and business risks of your decisions.\n\nAs an undergrad, you can prepare for this career goal by enrolling in both computer science and business classes. If your interests skew heavily toward the management side, you might consider transferring to the [Information Technology Management program](http://shidler.hawaii.edu/itm) in the School of Business. \n\nYou might also consider pursuing our [B.A. in ICS](http://www.ics.hawaii.edu/academics/undergraduate-degree-programs/ba-ics/). This choice provides more curricular freedom to support a combination of computer science and business courses. \n\nBe aware: this career goal is highly competitive. If you are serious about it, then the best preparation is to first obtain a [B.S. in Computer Science](http://www.ics.hawaii.edu/academics/undergraduate-degree-programs/bs-ics/) or [B.S. in Computer Engineering](http://www.ics.hawaii.edu/academics/undergraduate-degree-programs/bs-ce/), and follow that with a Masters degree in Business Administration. You do not have to go directly to graduate school: you can obtain your undergraduate degree, work for a few years, and then obtain your MBA. [View more information here.](http://www.bls.gov/ooh/management/computer-and-information-systems-managers.htm)"
},
{
"name": "IoT Architect",
"slug": "iot-architect",
"interests": [
"algorithms",
"computer-architecture",
"data-science",
"data-visualization",
"databases",
"hardware",
"hci",
"networks",
"security"
],
"description": "The [Internet of Things](https://en.wikipedia.org/wiki/Internet_of_things) (IoT) refers to the expansion of internet connectivity beyond traditional \"computers\" to other devices including refrigerators, cars, houses, water heaters, solar panels, light bulbs, irrigation systems, heart monitoring implants, thermostats, etc. These devices typically include sensors (to obtain data about their environment) as well as actuators (so they can act within their environment with behaviors). The emerging IoT provides tremendous opportunities for improved decision making and efficiency, as well as tremendous security risks. \n\nTo pursue the IoT architect career goal, it helps to become familiar with hardware design ([ICS 331](../courses/ics331)), software engineering ([ICS 314](../courses/ics314)), networks ([ICS 311](../courses/ics311)), databases ([ICS 321](../courses/ics321)), security ([ICS 355](../courses/ics355)), and visualization ([ICS 484](../courses/ics484)). Outside opportunities like [HI Capacity](../opportunities/hicapacity) and the [AT&T IoT Focused Hackathon](../opportunities/att-iot-hackathon) can provide you with practical exposure to IoT technologies. [How to Become an IoT Developer: Six Tips](http://www.techrepublic.com/article/how-to-become-an-iot-developer-6-tips/) is useful reading.\n\nIoT architect was named one of the [Top 5 Hot IT Jobs in 2017](https://www.randstadusa.com/jobs/career-resources/hot-jobs-2017/best-in-demand-information-technology-jobs/). [View more information here.](https://en.wikipedia.org/wiki/Internet_of_things)"
},
{
"name": "Mobile App Developer",
"slug": "mobile-app-developer",
"interests": [
"android",
"mobile",
"ios"
],
"description": "The Mobile App Developer career path refers to a specialized software developer who can build \"native\" mobile applications for the Android and/or iOS operating systems. \n\nTo prepare for this career path, begin with solid software development skills through coursework in software engineering ([ICS 314](../courses/ics314)), networking ([ICS 351](../courses/ics351)), and databases ([ICS 321](../courses/ics321)). You'll also want to take Design for Mobile Devices ([ICS 466](../courses/ics466)). \n\nIn addition to coursework, you'll want to develop specialized skills for your platform of choice: Android development involves a variant of Java, while modern iOS development involves the Swift programming language. You might want to take a summer course through Udacity or Coursera to augment your ICS preparation.\n\nFinally, if you want a career in mobile application development, don't wait to get started! There's nothing preventing you from building a few applications and releasing them in the Android or iOS app stores. If nothing else, they can be presented as part of your professional portfolio when you are interviewing for a job. In the best case scenario, you might make a few bucks.\n\nMobile App Developer was named [one of the 10 hottest developer jobs in 2017](http://www.techrepublic.com/article/the-10-hottest-developer-jobs-of-2017/). [View more information here.](http://www.tomsitpro.com/articles/become-mobile-app-developer,1-2219.html)"
},
{
"name": "Network Engineer",
"slug": "network-engineer",
"interests": [
"hardware",
"networks"
],
"description": "In RadGrad, the Network Engineer career goal also refers to positions such as Network Administrator, Network Architect, Network Manager, and Wireless Network Engineer.\n\nIn all cases, this career goal involves the design, construction, and maintenance of data communication networks, including local area networks (LANs), wide area networks (WANs), and intranets, wired or wireless. Such networks could range from simple connections between a set of offices to large-scale cloud infrastructures serving millions of people. \n\nConsider this career goal if you are comfortable and interested in work that combines design and decision-making about both software and hardware. If your interests lean heavily toward the hardware side, you might want to consider the [B.S. in Computer Engineering](http://www.ics.hawaii.edu/academics/undergraduate-degree-programs/bs-ce/) degree.\n\nTo prepare for this career goal, you will want to take courses in both networking (such as [ICS 351](../courses/ics351) and [ICS 451](../courses/ics451)) and hardware ([ICS 331](../courses/ics331)). To augment the traditional curriculum, consider an Independent Study ([ICS 499](../courses/ics499)) in a research project involving networking. [View more information here.](http://www.bls.gov/ooh/computer-and-information-technology/computer-network-architects.htm)"
},
{
"name": "Research Scientist",
"slug": "research-scientist",
"interests": [
"research"
],
"description": "The Research Scientist career goal is for those who want to prepare, quite simply, to invent the future. In RadGrad, the research scientist career goal represents job positions that typically require a Ph.D., such as \"Professor\" (in academia) or \"Research Scientist\" (in industry). \n\nResearch scientists design, implement, and evaluate new approaches to computing and computing technology, and apply those approaches to solving significant problems in business, medicine, science, and other fields. Research scientists have the highest level of autonomy of any career goal; you are hired by an organization with the expectation that you will define and organize your work yourself (while within the general business or academic constraints of the organization). Research scientists can often wear jeans and a t-shirt to work, because you will be evaluated almost totally on your ability to innovate. \n\nTo prepare to become a research scientist, you should also have [graduate school](graduate-school) as a career goal, and you should plan to (eventually) get a Ph.D. That said, you don't have to go to graduate school immediately: you might decide after graduation to first join or create a startup company based upon an idea you had as an undergraduate. Successful research scientists have a tolerance for risk: not all research ideas are successful (if you can guarantee in advance that an idea will be successful, then by definition it no longer involves research).\n\nIf this career goal appeals to you, get involved with one (or more) research projects as an undergraduate. This will both give you a taste for the work and enable you to develop connections with professors that will help when you eventually apply to graduate school. If possible, try to publish a paper while you are an undergraduate. Your professor can help you to make that happen. [View more information here.](http://www.bls.gov/ooh/computer-and-information-technology/computer-and-information-research-scientists.htm)"
},
{
"name": "Robotics Engineer",
"slug": "robotics-engineer",
"interests": [
"hardware",
"robotics",
"software-engineering"
],
"description": "The robotics engineer career path involves the design of hardware and associated software to create automated systems to accomplish physical tasks that humans cannot or prefer not to do. The range of applications for Robotics Engineers is quite wide: from self-driving vacuum cleaners ([Roomba](https://store.irobot.com/default/robot-vacuum-roomba/)) to self-driving cars ([Tesla's autopilot](https://www.tesla.com/autopilot)). Robotics engineers also work on drones, automated factory equipment, and other hardware systems involving autonomous behavior.\n\nTo prepare for the Robotics Engineer career path, most students will want to pursue the [B.S. in Computer Engineering](http://www.ics.hawaii.edu/academics/undergraduate-degree-programs/bs-ce/) degree program. This degree program will give you a solid foundation in hardware design, including circuits, signals, and digital electronics. Helpful ICS coursework includes Machine-level Programming ([ICS 312](../courses/ics312)), Software Design for Robotics ([ICS 452](../courses/ics452)), and Computer Vision ([ICS 483](../courses/ics483)). [View more information here.](https://www.sokanu.com/careers/robotics-engineer/)"
},
{
"name": "Software Developer",
"slug": "software-developer",
"interests": [
"application-development",
"software-engineering"
],
"description": "Software Developer is probably the most common career goal for computer science students, at least initially. This career goal also includes position titles such as Developer, Software Engineer, Programmer, Coder, Software Architect, Business Application Programmer, Programmer Analyst, and so forth. \n\nBecause of their popularity and because they require specialized software development skills, RadGrad also defines more specialized career goals that are related to Software Developer: [Mobile App Developer](mobile-app-developer), [Game Developer](game-developer), and [Full Stack Developer](full-stack-developer). If you're not sure what kind of development you want to do, then Software Developer is a good bet.\n\nIn general, software developers are responsible for designing computing programs, applications, and support systems. They meet with clients to discuss technological needs, and then develop software to addresses those demands. Once initially implemented, software developers must modify and maintain the systems as business requirements for the software change.\n\nTo prepare for the software developer, you need strong programming and software engineering skills which is guaranteed by any of the ICS degree programs. Beyond the classroom, you should participate in programming-related events like coding competitions and hackathons. You should also consider a summer internship doing software development for a business in order to gain \"real-world\" experience prior to graduation.\n\nSoftware Engineer was named [one of the 14 best tech jobs in America](http://www.cio.com/article/3167568/it-skills-training/14-best-tech-jobs-in-america.html#slide9). [View more information here.](http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm)"
},
{
"name": "Startup Co-Founder",
"slug": "startup-cofounder",
"interests": [
"entrepreneurship"
],
"description": "According to [the wikipedia entry](https://en.wikipedia.org/wiki/Startup_company), a software company is *an entrepreneurial venture which is typically a newly emerged, fast-growing business that aims to meet a marketplace need by developing or offering an innovative product, process or service. A startup is usually a company such as a small business, a partnership or an organization designed to rapidly develop a scalable business model.*\n\nIf your career goal is to start a new high tech business, then you will want a solid foundation in computer science, but the specific courses depend upon the application domain. You might want to combine this career goal with another, more application-specific goal, such as [game developer](game-developer) or [VR/AR Engineer](vr-ar-engineer). \n\nRegardless of the application domain, you will want to acquire an understanding of business issues in general and startup issues in particular. You will definitely want to participate in the [Shidler Business Plan Competition](../opportunities/shider-bpc), and you might also want to do one or more summer internships to get a better sense of how technology development is shaped by market and organizational forces. [View more information here.](https://en.wikipedia.org/wiki/Startup_company)"
},
{
"name": "Teacher",
"slug": "teacher",
"interests": [
"teaching"
],
"description": "Teaching often appears in lists of [the top 10 most satisfying careers](http://www.careercast.com/jobs-rated/whistling-while-you-work-10-most-satisfying-careers), and it's easy to see why: you are helping others, you are benefitting society, and you get summers off, among [other things](https://www.buzzfeed.com/mrloganrhoades/the-24-best-parts-about-being-a-teacher?utm_term=.arAKJwPVrG#.txpklaR2Bx).\n\nIf you are interested in teaching high school computer science, we recommend that you complete either the B.A. or B.S. in computer science degree program, then plan to obtain a [Certificate in Secondary Education](https://coe.hawaii.edu/academics/institute-teacher-education/pbc-secondary). This certificate can be obtained in 18 months after graduation, and you can take classes in the evening or online. \n\nYou don't have to wait until you obtain a teaching certificate to get started teaching. Consider programs such as [Teach for America](https://hawaii.teachforamerica.org/teaching-here). In addition, many private schools in Hawaii do not require a teaching certificate. [View more information here.](http://tobecomeateacher.org/becoming-a-cs-teacher/)"
},
{
"name": "UX Designer",
"slug": "ux-designer",
"interests": [
"computer-graphics",
"data-visualization",
"hci",
"web-development"
],
"description": "The UX (User Experience) Designer career goal refers to jobs that involve the evaluation and improvement of usability, accessibility, and pleasure in the interaction with a software application. UX design is closely related to human-computer interaction design, but extends it by addressing all aspects of the product or service as experienced by users.\n\nTo prepare for this career goal, you will want to extend your foundation in computer science with preparation in human-computer interaction ([ICS 464](../courses/ics464)), cognitive science ([ICS 469](../courses/ics469)), and/or data visualization ([ICS 484](../courses/ics484)). \n\nIf you are passionate about UX design, you may wish to pursue the [B.A. in ICS](http://www.ics.hawaii.edu/academics/undergraduate-degree-programs/ba-ics/) degree plan to leave room in your schedule for coursework in Psychology or Graphic Arts.\n\nUX Designer was named [one of the 10 hottest developer jobs in 2017](http://www.techrepublic.com/article/the-10-hottest-developer-jobs-of-2017/). [View more information here.](https://en.wikipedia.org/wiki/User_experience_design)"
},
{
"name": "VR/AR Engineer",
"slug": "vr-ar-engineer",
"interests": [
"algorithms",
"artificial-intelligence",
"cognitive-science",
"computer-graphics",
"data-visualization",
"game-design",
"virtual-reality"
],
"description": "Virtual Reality and Augmented Reality have the potential to fundamentally change how people interact with data, with their environment, and with each other. In the past few years, technological breakthroughs have included the ability to solve the \"motion sickness problem\" and the use smartphones and simple cardboard enclosures rather than expensive dedicated headsets. The next ten years will see the application of VR and AR to many technology sectors. \n\nTo pursue the VR/AR engineer career goal, it helps to become familiar with hardware design ([ICS 331](../courses/ics331)), algorithms ([ICS 311](../courses/ics311)), and visualization ([ICS 484](../courses/ics484)). Outside opportunities like [ACM Manoa/VR](../opportunities/acm-manoa-vr) and the [Lava Lab](../opportunities/lava-lab) can provide you with practical exposure to VR technologies. \n\nVR/AR engineer was named one of the [Top 5 Hot IT Jobs in 2017](https://www.randstadusa.com/jobs/career-resources/hot-jobs-2017/best-in-demand-information-technology-jobs/). [View more information here.](https://www.monster.com/career-advice/article/virtual-reality-tech-land-a-job)"
}
]
},
{
"name": "CourseCollection",
"contents": [
{
"name": "Applied Mechanics I",
"shortName": "Applied Mechanics I",
"slug": "cee_270",
"number": "CEE 270",
"description": "Forces, resultants, and equilibrium; analysis of trusses, frames, and machines; centroids, moments of inertia; friction.",
"creditHrs": 3,
"interests": [],
"prerequisites": []
},
{
"name": "Programming for Engineers",
"shortName": "Programming for Engr.",
"slug": "ee_160",
"number": "EE 160",
"description": "Introductory course on computer programming and modern computing environments in C with an emphasis on algorithm and program design, implementation, and debugging. Includes a hands-on laboratory to develop and practice programming skills.",
"creditHrs": 4,
"interests": [],
"prerequisites": []
},
{
"name": "Object Oriented Programming",
"shortName": "OOP",
"slug": "ee_205",
"number": "EE 205",
"description": "Second-level programming for computer engineers. Object-oriented programming paradigm, definition and use of classes, fundamentals of object-oriented design in modern object-oriented languages such as C++. Common data structures, simple searching and sorting techniques.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_160"
]
},
{
"name": "Basic Circuit Analysis I",
"shortName": "Circuit Analysis I",
"slug": "ee_211",
"number": "EE 211",
"description": "Linear passive circuits, time domain analysis, transient and steady-state responses, phasors, impedance and admittance; power and energy, frequency responses, resonance.",
"creditHrs": 4,
"interests": [],
"prerequisites": []
},
{
"name": "Basic Circuit Analysis II",
"shortName": "Circuit Analysis II",
"slug": "ee_213",
"number": "EE 213",
"description": "Laplace transforms and their application to circuits, Fourier transforms and their applications to circuits, frequency selective circuits, introduction to and design of active filters, convolution, and state space analysis of circuits.",
"creditHrs": 4,
"interests": [],
"prerequisites": [
"ee_211"
]
},
{
"name": "Introduction to Digital Design",
"shortName": "Intro. to Digital Design",
"slug": "ee_260",
"number": "EE 260",
"description": "Introduction to the design of digital systems with an emphasis on design methods and the implementation and use of fundamental digital components.",
"creditHrs": 4,
"interests": [],
"prerequisites": [
"ee_160"
]
},
{
"name": "Sophomore Project",
"shortName": "Sophomore Project",
"slug": "ee_296",
"number": "EE 296",
"description": "Sophomore level individual or team project under EE faculty direction and guidance. The project provides design experience and develops practical skills.",
"creditHrs": 3,
"interests": [],
"prerequisites": []
},
{
"name": "Signal and Systems Analysis",
"shortName": "Signal Analysis",
"slug": "ee_315",
"number": "EE 315",
"description": "Discrete-time and continuous time signals and systems, linear systems, convolution, Fourier series, Fourier transform, sampling.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_213"
]
},
{
"name": "Microelectronic Circuits I",
"shortName": "Microelectronic I",
"slug": "ee_323",
"number": "EE 323",
"description": "Semiconductor structures, operating principles and characteristics of diodes and amplifying devices. Their application as circuit elements in building basic digital, analog, and integrated circuit subsystems.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_213"
]
},
{
"name": "Physical Electronics",
"shortName": "Physical Electronics",
"slug": "ee_324",
"number": "EE 324",
"description": "Review of quantum mechanics fundamentals, H-atom, and chemical bonding. Introduction to band structure models and materials. Semiconductor doping, charge carrier statistics and charge transport, including ambipolar transport. Metal-semiconductor and PN junctions.",
"creditHrs": 3,
"interests": [],
"prerequisites": []
},
{
"name": "Probability and Statistics",
"shortName": "Probability and Statistics",
"slug": "ee_342",
"number": "EE 342",
"description": "Probability, statistics, random variables, distributions, densities, expectations, limit theorems, and applications to electrical engineering.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_315"
]
},
{
"name": "Digital Systems and Computer Design",
"shortName": "Digital Systems",
"slug": "ee_361",
"number": "EE 361",
"description": "Design methodology, processor design, control design, memory organization, system organization.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_160",
"ee_260"
]
},
{
"name": "Discrete Math for Engineers",
"shortName": "Discrete Math",
"slug": "ee_362",
"number": "EE 362",
"description": "Logic, sets, number theory, properties of functions, properties of relations, methods of proofs, recursion, counting, probability, trees, graphs, analysis of algorithms, finite state autonoma.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_160",
"ee_260"
]
},
{
"name": "Computer Data Structures and Algorithms",
"shortName": "Data Structures",
"slug": "ee_367",
"number": "EE 367",
"description": "Introduction to computer programming algorithms with emphasis on advanced data structures, input-output routines, files, and interpreters.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_205",
"ics_141"
]
},
{
"name": "Engineering Electromagnetics I",
"shortName": "Electromagnetics I",
"slug": "ee_371",
"number": "EE 371",
"description": "Transient and steady-state waves on transmission lines. Plane wave solutions of Maxwell's equations. Application of Maxwell's equations under static and time-varying conditions.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_213"
]
},
{
"name": "Junior Project",
"shortName": "Junior Project",
"slug": "ee_396",
"number": "EE 396",
"description": "Junior level individual or team project under EE faculty direction and guidance. The project provides design experience and develops practical skills. It may be a continuation of EE 296 or a new project.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_296"
]
},
{
"name": "Introduction to Computer and Network Security",
"shortName": "Intro. to Network Security",
"slug": "ee_406",
"number": "EE 406",
"description": "Review basic network mechanisms, introduce basic cryptography concepts, and study algorithms and protocols used in computer and network security. Discuss practical security mechanisms.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_367"
]
},
{
"name": "Object-oriented Software Engineering",
"shortName": "OO Software Engineering",
"slug": "ee_467",
"number": "EE 467",
"description": "Introduction to advanced techniques for designing, implementing, and testing computer software with a particular focus on using object-oriented design, analysis, and programming to produce high-quality computer programs that solve non-trivial problems.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_367"
]
},
{
"name": "Introduction to Operating Systems",
"shortName": "Operating Systems",
"slug": "ee_468",
"number": "EE 468",
"description": "Computer system organization; multiprocessor systems, memory hierarchies, assemblers, compilers, operating systems, virtual machine, memory management, processor management; information management.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ee_361",
"ee_367"
]
},
{
"name": "Ethics in Electrical Engineering",
"shortName": "Ethics",
"slug": "ee_495",
"number": "EE 495",
"description": "Equip electrical engineers with the necessary background for ethical reasoning, as it pertains to technology, society, workplace issues, and the environment.",
"creditHrs": 1,
"interests": [],
"prerequisites": []
},
{
"name": "Capstone Design Project",
"shortName": "Capstone",
"slug": "ee_496",
"number": "EE 496",
"description": "Significant project integrating the design content of previous courses and incorporating engineering standards and realistic constraints. Written report must document all aspects of the design process: reliability, safety, economics, ethics.",
"creditHrs": 1,
"interests": [],
"prerequisites": []
},
{
"name": "Digital Tools for the Information World",
"shortName": "Digital Tools",
"slug": "ics_101",
"number": "ICS 101",
"description": "Fundamental information technology concepts and computing terminology, productivity software for problem solving, computer technology trends and impact on individuals and society. Emphasizes the utilization of operating systems and the production of professional documents, spreadsheets, etc.",
"creditHrs": 4,
"interests": [],
"prerequisites": []
},
{
"name": "Introduction to Computer Programming",
"shortName": "Intro to CS",
"slug": "ics_110",
"number": "ICS 110",
"description": "Basic concepts needed to write computer programs. Simple program design and implementation using a specific programming language; (C) C; (D) through animations; (P) Python. Each alpha repeatable unlimited times, but credit earned one time only.",
"creditHrs": 3,
"interests": [
"python"
],
"prerequisites": []
},
{
"name": "Introduction to Computer Science I",
"shortName": "Comp Sci I",
"slug": "ics_111",
"number": "ICS 111",
"description": "Overview of computer science, including Java programming, control structures, subroutines, objects and classes, GUI programming, arrays, and recursion.",
"creditHrs": 4,
"interests": [
"java"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS111.html",
"prerequisites": []
},
{
"name": "Discrete Mathematics for Computer Science I",
"shortName": "Discrete Math I",
"slug": "ics_141",
"number": "ICS 141",
"description": "Introduction to propositional and predicate logic, sets, functions, linear algebra, algorithms, mathematical reasoning, recursion, counting techniques, and probability theory. [View more information here.](http://courses.ics.hawaii.edu/ReviewICS141/)",
"creditHrs": 3,
"interests": [
"algorithms"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS141.html",
"prerequisites": []
},
{
"name": "Introduction to Computer Science II",
"shortName": "Comp Sci II",
"slug": "ics_211",
"number": "ICS 211",
"description": "Object-oriented programming, algorithms and their complexity, introduction to software engineering, lists, stacks, queues, trees hash tables, and searching and sorting algorithms. [View more information here.](http://courses.ics.hawaii.edu/ReviewICS211/)",
"creditHrs": 4,
"interests": [
"algorithms",
"software-engineering",
"java"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS211.html",
"prerequisites": [
"ics_111"
]
},
{
"name": "Program Structure",
"shortName": "Program Structure",
"slug": "ics_212",
"number": "ICS 212",
"description": "Program organization paradigms, programming environments, implementation of a module from specifications, the C and C++ programming languages.",
"creditHrs": 3,
"interests": [
"c",
"cplusplus",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS212.html",
"prerequisites": [
"ics_211"
]
},
{
"name": "Introduction to Scripting",
"shortName": "Scripting",
"slug": "ics_215",
"number": "ICS 215",
"description": "Introduction to scripting languages for the integration of applications and systems. Scripting in operating systems, web pages, server-side application integration, regular expressions, event handling, input validation, selection, repetition, parameter passing, Perl, JavaScript, and PHP. [View more information here.](http://courses.ics.hawaii.edu/ReviewICS215/)",
"creditHrs": 3,
"interests": [
"perl",
"javascript",
"ruby",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS215.html",
"prerequisites": [
"ics_211"
]
},
{
"name": "Basic Concepts of Computer Science",
"shortName": "Comp Sci Concepts",
"slug": "ics_222",
"number": "ICS 222",
"description": "What is computer science about? What is the difference between computers and other machines? What are the limits of computation? Are there computers that are not machines? Understand the basic issues of computability, complexity, and network effects, and learn to apply them in the practice of computation.",
"creditHrs": 3,
"interests": [
"theory-of-computation"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS222.html",
"prerequisites": [
"ics_141"
]
},
{
"name": "Discrete Mathematics for Computer Science II",
"shortName": "Discrete Math II",
"slug": "ics_241",
"number": "ICS 241",
"description": "Program correctness, recurrence relations and their solutions, divide and conquer relations, relations and their properties, graph theory, trees and their applications, Boolean algebra, introduction to formal languages and automata theory. [View more information here.](http://courses.ics.hawaii.edu/ReviewICS241/)",
"creditHrs": 3,
"interests": [
"algorithms"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS241.html",
"prerequisites": [
"ics_141"
]
},
{
"name": "Algorithms",
"shortName": "Algorithms",
"slug": "ics_311",
"number": "ICS 311",
"description": "Design and correctness of algorithms, including divide-and-conquer, greedy and dynamic programming methods. Complexity analyses using recurrence relations, probabilistic methods, and NP-completeness. Applications to order statistics, disjoint sets, B-trees and balanced trees, graphs, network flows, and string matching. [View more information here.](http://courses.ics.hawaii.edu/ReviewICS311/)",
"creditHrs": 4,
"interests": [
"algorithms",
"data-science"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS311.html",
"prerequisites": [
"ics_241",
"ics_211"
]
},
{
"name": "Machine-Level and Systems Programming",
"shortName": "Systems Programming",
"slug": "ics_312",
"number": "ICS 312",
"description": "Machine organization, machine instructions, addressing modes, assembler language, subroutine linkage, linking to higher-level languages, interface to operating systems, introduction to assemblers, loaders and compilers. [View more information here.](http://courses.ics.hawaii.edu/ReviewICS312/)",
"creditHrs": 3,
"interests": [
"assembler",
"computer-architecture",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS312.html",
"prerequisites": [
"ics_212",
"ics_314"
]
},
{
"name": "Programming Language Theory",
"shortName": "Programming Languages",
"slug": "ics_313",
"number": "ICS 313",
"description": "Syntax, semantics, control structures, variable binding and scopes, data and control abstractions. Programming in functional (LISP) and logic (Prolog) programming styles.",
"creditHrs": 3,
"interests": [
"lisp",
"prolog"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS313.html",
"prerequisites": [
"ics_212",
"ics_311",
"ics_314"
]
},
{
"name": "Software Engineering I",
"shortName": "Software Eng I",
"slug": "ics_314",
"number": "ICS 314",
"description": "Problem analysis and design, team-oriented development, quality assurance, configuration management, project planning. [View more information here.](http://courses.ics.hawaii.edu/ReviewICS314/)",
"creditHrs": 3,
"interests": [
"software-engineering",
"javascript",
"application-development",
"it-management"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS314.html",
"prerequisites": [
"ics_211",
"ics_241"
]
},
{
"name": "Data Storage and Retrieval",
"shortName": "Databases I",
"slug": "ics_321",
"number": "ICS 321",
"description": "Data storage devices, timing and capacity, programming for files, hashed and indexed files, introduction to relational database systems. [View more information here.](http://courses.ics.hawaii.edu/ReviewICS321/)",
"creditHrs": 3,
"interests": [
"databases",
"application-development",
"sql"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS321.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Logic Design and Microprocessors",
"shortName": "Microprocessors",
"slug": "ics_331",
"number": "ICS 331",
"description": "Basic machine architecture, microprocessors, bus organization, circuit elements, logic circuit analysis and design, microcomputer system design.",
"creditHrs": 4,
"interests": [
"computer-architecture",
"hardware",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS331.html",
"prerequisites": [
"ics_212",
"ics_311",
"ics_314"
]
},
{
"name": "Operating Systems",
"shortName": "Operating Systems",
"slug": "ics_332",
"number": "ICS 332",
"description": "Operating system concepts and structure, processes and threads, CPU scheduling, memory management, scheduling, file systems, inter-process communication, virtualization, popular operating systems.",
"creditHrs": 3,
"interests": [
"operating-systems",
"computer-architecture",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS332.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Network Design and Management",
"shortName": "Networks",
"slug": "ics_351",
"number": "ICS 351",
"description": "Overview of the internet and its capabilities; introduction to HTTP, TCP/IP, ethernet, and wireless 802.11; routers, switches, and NAT; network and wireless security; practical experience in designing and implementing networks.",
"creditHrs": 3,
"interests": [
"networks",
"security",
"hardware",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS351.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Security and Trust I: Resource Protections",
"shortName": "Security & Trust I",
"slug": "ics_355",
"number": "ICS 355",
"description": "Security and trust in computers, networks, and society. Security models. Access and authorization. Availability and Denial-of-Service. Trust processes and network interactions. [View more information here.](http://courses.ics.hawaii.edu/ReviewICS355/)",
"creditHrs": 3,
"interests": [
"security"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS355.html",
"prerequisites": [
"ics_222",
"ics_311",
"ics_314"
]
},
{
"name": "Introduction to Artificial Intelligence Programming",
"shortName": "AI Programming",
"slug": "ics_361",
"number": "ICS 361",
"description": "Introduction to the theory of Artificial Intelligence and the practical application of AI techniques in Functional (Common LISP and/or Scheme) and Logic (Prolog) programming languages. Students gain practical experience through programming assignments and projects.",
"creditHrs": 3,
"interests": [
"artificial-intelligence",
"lisp",
"prolog"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS361.html",
"prerequisites": [
"ics_212",
"ics_311",
"ics_314"
]
},
{
"name": "Computing Ethics for Lab Assistants",
"shortName": "Ethics for LAs",
"slug": "ics_390",
"number": "ICS 390",
"description": "A lecture/discussion/internship on ethical issues and instructional techniques for students assisting a laboratory section of ICS 101. The class uses multiple significant writing and oral presentation activities to help students learn course content.",
"creditHrs": 3,
"interests": [
"teaching",
"computer-ethics"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS390.html",
"prerequisites": [
"ics_101"
]
},
{
"name": "Software Engineering II",
"shortName": "Software Eng II",
"slug": "ics_414",
"number": "ICS 414",
"description": "Continuation of 314. Project management, quality, and productivity control, testing and validation, team management. Team-oriented software-implementation project.",
"creditHrs": 3,
"interests": [
"software-engineering",
"application-development",
"it-management"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS414.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Introduction to Programming for the Web",
"shortName": "Intro to Web Programming",
"slug": "ics_415",
"number": "ICS 415",
"description": "Introduction to emerging technologies for construction of World Wide Web (WWW)-based software. Covers programming and scripting languages used for the creation of WWW sites and client-server programming. Students will complete a medium-sized software project that uses languages and concepts discussed in class.",
"creditHrs": 3,
"interests": [
"application-development",
"software-engineering"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS415.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "The Science, Psychology and Philosophy of Systems Design",
"shortName": "Science of Systems Design",
"slug": "ics_419",
"number": "ICS 419",
"description": "Scientific, psychological and philosophical bases of systems design, including a survey of human-factors and ergonomic standards; the nature of innovation and creativity as it relates to systems design.",
"creditHrs": 3,
"interests": [
"software-engineering",
"hci"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS419.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Database Systems",
"shortName": "Databases II",
"slug": "ics_421",
"number": "ICS 421",
"description": "Principles of database systems, data modeling, relational models, database design, query languages, query optimization, concurrency control data security.",
"creditHrs": 3,
"interests": [
"databases"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS421.html",
"prerequisites": [
"ics_321"
]
},
{
"name": "Data Processing",
"shortName": "Data Processing",
"slug": "ics_422",
"number": "ICS 422",
"description": "Role of data processing in organizations, programming practices, ethics, sequential and indexed file processing, report writing, online transaction processing.",
"creditHrs": 3,
"interests": [
"databases"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS422.html",
"prerequisites": [
"ics_321"
]
},
{
"name": "Data Security and Cryptography I",
"shortName": "Cryptography I",
"slug": "ics_423",
"number": "ICS 423",
"description": "History of secret communication and confidential data storage. Elements of cryptography and cryptanalysis. Classical ciphers. Symmetric key cryptography. Public key cryptography. Data security in cyberspace.",
"creditHrs": 3,
"interests": [
"cryptography",
"security"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS423.html",
"prerequisites": [
"ics_355"
]
},
{
"name": "Application Frameworks",
"shortName": "Application Frameworks",
"slug": "ics_424",
"number": "ICS 424",
"description": "Experience producing applications with at least two different applications frameworks.",
"creditHrs": 3,
"interests": [
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS424.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Computer Security and Ethics",
"shortName": "Security & Ethics",
"slug": "ics_425",
"number": "ICS 425",
"description": "Theoretical results, security policy, encryption, key management, digital signatures, certificates, passwords. Ethics: privacy, computer crime, professional ethics. Effects of the computer revolution on society.",
"creditHrs": 3,
"interests": [
"security",
"computer-ethics",
"it-management"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS425.html",
"prerequisites": [
"ics_355"
]
},
{
"name": "Computer System Security",
"shortName": "Computer System Security",
"slug": "ics_426",
"number": "ICS 426",
"description": "Information flow, confinement, information assurance, malicious programs, vulnerability analysis, network security, writing secure programs.",
"creditHrs": 3,
"interests": [
"security",
"it-management"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS426.html",
"prerequisites": [
"ics_355"
]
},
{
"name": "Computer Architecture",
"shortName": "Computer Architecture",
"slug": "ics_431",
"number": "ICS 431",
"description": "Memory management, control flow, interrupt mechanisms, multiprocessor systems, special-purpose devices.",
"creditHrs": 3,
"interests": [
"computer-architecture",
"hardware"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS431.html",
"prerequisites": [
"ics_331"
]
},
{
"name": "Concurrent and High-Performance Programming",
"shortName": "Concurrent Programming",
"slug": "ics_432",
"number": "ICS 432",
"description": "Principles of concurrent and high performance programming. Multi-threading in C and Java for shared-memory programming. Distributed memory programming with Java. Introduction to cluster computing.",
"creditHrs": 3,
"interests": [
"parallel-programming",
"hpc",
"c",
"java",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS432.html",
"prerequisites": [
"ics_311",
"ics_314",
"ics_212"
]
},
{
"name": "Machine Learning Fundamentals",
"shortName": "Machine Learning",
"slug": "ics_435",
"number": "ICS 435",
"description": "Introduction to machine learning concepts with a focus on relevant ideas from computational neuroscience. Information processing and learning in the nervous system. Neural networks. Supervised and unsupervised learning. Basics of statistical learning theory.",
"creditHrs": 3,
"interests": [
"machine-learning",
"data-science"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS435.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Theory of Computation",
"shortName": "Theory of Computation",
"slug": "ics_441",
"number": "ICS 441",
"description": "Grammars, sequential machines, equivalence, minimalization, analysis and synthesis, regular expressions, computability, unsolvability, Godel's theorem, Turing machines.",
"creditHrs": 3,
"interests": [
"theory-of-computation",
"algorithms"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS441.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Analytical Models and Methods",
"shortName": "Analytics Models",
"slug": "ics_442",
"number": "ICS 442",
"description": "Applications of mathematical methods in computer science with emphasis on discrete mathematics, numerical computation, algebraic models, operations research.",
"creditHrs": 3,
"interests": [
"algorithms"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS442.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Parallel Algorithms",
"shortName": "Parallel Algorithms",
"slug": "ics_443",
"number": "ICS 443",
"description": "Introduction to parallel models of computation and design and analysis of parallel algorithms.",
"creditHrs": 3,
"interests": [
"parallel-programming",
"algorithms",
"computer-architecture",
"data-science",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS443.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Data Networks",
"shortName": "Data Networks",
"slug": "ics_451",
"number": "ICS 451",
"description": "Network analysis, architecture, digital signal analysis and design; circuit switching, packet switching, packet broadcasting; protocols and standards; local area networks; satellite networks; ALOHA channels; examples.",
"creditHrs": 3,
"interests": [
"networks",
"c"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS451.html",
"prerequisites": [
"ics_311",
"ics_314",
"ics_212"
]
},
{
"name": "Software Design for Robotics",
"shortName": "Robotics",
"slug": "ics_452",
"number": "ICS 452",
"description": "Sensors, actuators, signal processing, paradigms of robotic software design, introduction to machine learning, introduction to computer vision, and robot-to-human interaction.",
"creditHrs": 3,
"interests": [
"robotics",
"machine-learning",
"hardware",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS452.html",
"prerequisites": [
"ics_312",
"ics_313"
]
},
{
"name": "Security and Trust II: Information Assurance",
"shortName": "Security & Trust II",
"slug": "ics_455",
"number": "ICS 455",
"description": "Channel security. Trojan and noninterference. Basic concepts of cryptology. Cryptographic primitives. Protocols for authentication and key establishment.",
"creditHrs": 3,
"interests": [
"security",
"cryptography"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS455.html",
"prerequisites": [
"ics_355"
]
},
{
"name": "Artificial Intelligence",
"shortName": "Artificial Intelligence",
"slug": "ics_461",
"number": "ICS 461",
"description": "Survey of artificial intelligence: natural language processing, vision and robotics, expert systems. Emphasis on fundamental concepts: search, planning, and problem solving, logic, knowledge representation.",
"creditHrs": 3,
"interests": [
"artificial-intelligence",
"algorithms",
"data-science",
"robotics"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS461.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Artificial Intelligence for Games",
"shortName": "AI for Games",
"slug": "ics_462",
"number": "ICS 462",
"description": "Techniques to stimulate intelligence in video games: movement, pathfinding with A* search, decision/behavior trees, state machines, machine learning, tactics. Extend games with your own AI implementations; experience shootout contests for the best AI algorithm/implementation.",
"creditHrs": 3,
"interests": [
"algorithms",
"game-design",
"artificial-intelligence",
"machine-learning",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS462.html",
"prerequisites": [
"ics_311",
"ics_314",
"ics_212"
]
},
{
"name": "Human Computer Interaction I",
"shortName": "HCI I",
"slug": "ics_464",
"number": "ICS 464",
"description": "Application of concepts and methodologies of human factors, psychology and software engineering to address ergonomic, cognitive, and social factors in the design and evaluation of human-computer systems.",
"creditHrs": 3,
"interests": [
"software-engineering",
"hci"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS464.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Introduction to Hypermedia",
"shortName": "Hypermedia",
"slug": "ics_465",
"number": "ICS 465",
"description": "Basic issues of interactive access to information in various formats on computers. Available hardware and software: editing, integration, programming. Implementation of a sample information system.",
"creditHrs": 3,
"interests": [
"software-engineering",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS465.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Design for Mobile Devices",
"shortName": "Design for Mobile Devices",
"slug": "ics_466",
"number": "ICS 466",
"description": "Design issues, programming languages, operating systems and mark-up languages for internet-enabled mobile devices, such as cell phones and PDAs.",
"creditHrs": 3,
"interests": [
"mobile",
"application-development",
"android"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS466.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Cognitive Science",
"shortName": "Cognitive Science",
"slug": "ics_469",
"number": "ICS 469",
"description": "Introduces basic concepts, central problems, and methods from cognitive science. Identifies contributions from disciplines such as cognitive psychology, linguistics, artificial intelligence, philosophy, and neuroscience.",
"creditHrs": 3,
"interests": [
"psychology",
"artificial-intelligence",
"cognitive-science",
"hci"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS469.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Probability, Statistics, and Queuing",
"shortName": "Probability & Statistics",
"slug": "ics_471",
"number": "ICS 471",
"description": "Introduction to probability, statistical inference, regression, Markov chains, queuing theory. Use of an interactive statistical graphics environment such as R.",
"creditHrs": 3,
"interests": [
"r",
"data-science",
"algorithms"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS471.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Introduction to Bioinformatics Sequences and Genomes Analysis",
"shortName": "Bioinformatics I",
"slug": "ics_475",
"number": "ICS 475",
"description": "Introduction to bioinformatics to computer sciences students by focusing on how computer science techniques can be used for the storage, analysis, prediction and simulation of biological sequences (DNA, RNA and proteins).",
"creditHrs": 3,
"interests": [
"bioinformatics",
"biology",
"algorithms",
"data-science"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS475.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Bioinformatics Algorithms and Tool Development",
"shortName": "Bioinformatics II",
"slug": "ics_476",
"number": "ICS 476",
"description": "Study of commonly used bioinformatic algorithms, with an emphasis on string, tree, and graph algorithms. Presentation of probabilistic and clustering methods. Implementation of the studied algorithms and design of applications.",
"creditHrs": 3,
"interests": [
"bioinformatics",
"biology",
"algorithms",
"data-science"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS476.html",
"prerequisites": [
"ics_475"
]
},
{
"name": "Introduction to Computer Graphics",
"shortName": "Computer Graphics",
"slug": "ics_481",
"number": "ICS 481",
"description": "Fundamentals of computer graphics including graphics hardware, representation, manipulation, and display of two- and three-dimensional objects, use of commercial software.",
"creditHrs": 3,
"interests": [
"computer-graphics"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS481.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Computer Vision",
"shortName": "Computer Vision",
"slug": "ics_483",
"number": "ICS 483",
"description": "Introductory course in computer vision. Topics include image formation, image processing and filtering, edge detection, texture analysis and synthesis, binocular stereo, segmentation, tracking, object recognition and applications.",
"creditHrs": 3,
"interests": [
"computer-vision",
"algorithms"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS483.html",
"prerequisites": [
"ics_311",
"ics_314",
"ics_212"
]
},
{
"name": "Data Visualization",
"shortName": "Data Visualization",
"slug": "ics_484",
"number": "ICS 484",
"description": "Introduction to data visualization through practical techniques for turning data into images to produce insight. Topics include: information visualization, geospatial visualization, scientific visualization, social network visualization, and medical visualization.",
"creditHrs": 3,
"interests": [
"data-visualization",
"computer-graphics",
"data-science"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS484.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Video Game Design and Development",
"shortName": "Game Design",
"slug": "ics_485",
"number": "ICS 485",
"description": "Students will team design, build, and demonstrate video games or related interactive entertainment environments and applications. Topics will include emerging computer science techniques relevant to the development of these types of environments.",
"creditHrs": 3,
"interests": [
"computer-graphics",
"graphic-design",
"game-design",
"application-development"
],
"syllabus": "http://courses.ics.hawaii.edu/syllabuses/ICS485.html",
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Special Topics",
"shortName": "Special Topics",
"slug": "ics_491",
"number": "ICS 491",
"description": "Reflects special interests of faculty. Oriented toward juniors and seniors. Repeatable one time for BS/CS students.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Special Topics in Security",
"shortName": "Special Topics: Security",
"slug": "ics_495",
"number": "ICS 495",
"description": "Special topics in security oriented toward juniors and seniors. Repeatable unlimited times.",
"creditHrs": 3,
"interests": [
"security"
],
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Computer Project",
"shortName": "Independent Study",
"slug": "ics_499",
"number": "ICS 499",
"description": "Individual or small-group projects in system design or application under faculty supervision.",
"creditHrs": 3,
"interests": [],
"prerequisites": [
"ics_311",
"ics_314"
]
},
{
"name": "Thermodynamics",
"shortName": "Thermodynamics",
"slug": "me_311",
"number": "ME 311",
"description": "Basic laws, closed and open systems. Work, heat, concept of entropy. Properties of pure simple substances. Ideal gases. Introduction to power and refrigeration cycles.",
"creditHrs": 4,
"interests": [],
"prerequisites": []
},
{
"name": "Non Computer Science Course",
"shortName": "Non-CS Course",
"slug": "other",
"number": "other",
"description": "The course used to represent all non-CS courses.",
"creditHrs": 3,
"interests": [],
"prerequisites": []
}
]
},
{
"name": "CourseInstanceCollection",
"contents": [
{
"semester": "Fall-2014",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "aaronvil@hawaii.edu"
},
{
"semester": "Fall-2014",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "ahlim@hawaii.edu"
},
{
"semester": "Fall-2014",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "brianmay@hawaii.edu"
},
{
"semester": "Fall-2014",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "cnguyen7@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "cpjaro@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "dtan808@hawaii.edu"
},
{
"semester": "Spring-2013",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "joshuajw@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "jrude@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "kellyl4@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "kirk6@hawaii.edu"
},
{
"semester": "Spring-2014",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "kurtkn@hawaii.edu"
},
{
"semester": "Fall-2013",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "markrc@hawaii.edu"
},
{
"semester": "Spring-2014",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "kurtkn@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "nathancy@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "pakchar@hawaii.edu"
},
{
"semester": "Spring-2013",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "slike@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "aaronvil@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "cpjaro@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "hailing@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "jameyia@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "jrude@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "kellyl4@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "kirk6@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "lamanh@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "linhongb@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "pakchar@hawaii.edu"
},
{
"semester": "Fall-2013",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "slike@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "zknoebel@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "aaronvil@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "ahlim@hawaii.edu"
},
{
"semester": "Spring-2015",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "cnguyen7@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "cpjaro@hawaii.edu"
},
{
"semester": "Spring-2015",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "creindle@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "dtan808@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "hailing@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "jrude@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "kellyl4@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "kirk6@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "linhongb@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "pakchar@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_211",
"note": "ICS 211",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "zknoebel@hawaii.edu"
},
{
"semester": "Spring-2013",
"course": "ics_241",
"note": "ICS 241",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "erikhuan@hawaii.edu"
},
{
"semester": "Spring-2013",
"course": "ics_241",
"note": "ICS 241",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "joshuajw@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_241",
"note": "ICS 241",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "lamanh@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_241",
"note": "ICS 241",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "rao642@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_241",
"note": "ICS 241",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "zknoebel@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_311",
"note": "ICS 311",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "brianmay@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_311",
"note": "ICS 311",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "creindle@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_311",
"note": "ICS 311",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "dtan808@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_311",
"note": "ICS 311",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "joshuajw@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_311",
"note": "ICS 311",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "kurtkn@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_311",
"note": "ICS 311",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "markrc@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_311",
"note": "ICS 311",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "rao642@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_311",
"note": "ICS 311",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "slike@hawaii.edu"
},
{
"semester": "Spring-2015",
"course": "ics_313",
"note": "ICS 313",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "kurtkn@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_321",
"note": "ICS 321",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "ahlim@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_321",
"note": "ICS 321",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "brianmay@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_321",
"note": "ICS 321",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "cnguyen7@hawaii.edu"
},
{
"semester": "Fall-2016",
"course": "ics_321",
"note": "ICS 321",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "creindle@hawaii.edu"
},
{
"semester": "Fall-2014",
"course": "ics_321",
"note": "ICS 321",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "erikhuan@hawaii.edu"
},
{
"semester": "Spring-2015",
"course": "ics_321",
"note": "ICS 321",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "markrc@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_321",
"note": "ICS 321",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "rao642@hawaii.edu"
},
{
"semester": "Spring-2016",
"course": "ics_321",
"note": "ICS 321",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "A",
"student": "shaziney@hawaii.edu"
},
{
"semester": "Fall-2015",
"course": "ics_331",
"note": "ICS 331",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "erikhuan@hawaii.edu"
},
{
"semester": "Fall-2014",
"course": "ics_111",
"note": "ICS 111",
"verified": true,
"fromSTAR": true,
"creditHrs": 4,
"grade": "A",
"student": "abi@hawaii.edu"
},
{
"semester": "Fall-2014",
"course": "ics_141",
"note": "ICS 141",
"verified": true,
"fromSTAR": true,
"creditHrs": 3,
"grade": "B+",