Commit e9642db6 authored by Arman Sobhi's avatar Arman Sobhi

Added software engineering rules`

parent 3d1f443d
_auditRequiredCourses(Student):-
_t(Student,rhet1302),
_t(Student,ecs3390),
_t(Student,phys2325),
_t(Student,phys2326),
_t(Student,phys2125),
_t(Student,phys2126),
_t(Student,govt2305),
_t(Student,govt2306),
_t(Student,ecs3361),
_t(Student,ecs1100),
_t(Student,cs1200),
_t(Student,cs1337),
_t(Student,cs2305),
_t(Student,cs2336),
_t(Student,math2418),
_t(Student,cs3162),
_t(Student,cs3305),
_t(Student,cs3340),
_t(Student,cs3341),
_t(Student,cs3345),
_t(Student,cs3354),
_t(Student,cs3376),
_t(Student,cs4141),
_t(Student,cs4337),
_t(Student,cs4341),
_t(Student,cs4347),
_t(Student,cs4348),
_t(Student,cs4349),
_t(Student,cs4384),
_t(Student,cs4485).
%The two ways math credit can be obtained
_auditMathCourses(Student):-
_hasTaken(Student,math2413),
_t(Student,math2414),
_takenFor(Student,math2413,math),
_takenFor(Student,math2414,math).
_auditMathCourses(Student):-
_hasTaken(Student,math2417),
_t(Student,math2419),
_takenFor(Student,math2417,math),
_takenFor(Student,math2419,math).
_auditMathCourses(Student):-
_t(Student,math2413),
_t(Student,math2414),
_takenFor(Student,math2413,math),
_takenFor(Student,math2414,math).
specialization(Student,networks):-
_t(Student,cs4390),
_t(Student,cs4393),
_t(Student,cs4396).
specialization(Student, infoAssurance):-
_t(Student,cs4389),
_t(Student,cs4393),
_t(Student,cs4398).
specialization(Student, embedded):-
_t(Student,cs4141),
_t(Student,cs4341),
_t(Student,cs4397),
_t(Student,cs4348).
specialization(Student,compImaging):-
_t(Student,cs4361),
_t(Student,cs4391),
_t(Student,cs4392).
specialization(Student,AICog):-
_t(Student,cs4314),
_t(Student,cs4315),
_t(Student,cs4365),
_t(Student,cs4375),
_t(Student,cs4395).
specialization(Student,HumanCompInteraction):-
_t(Student,cs4352),
_t(Student,cs4353),
_t(Student,cs4361).
_metRequiredCourses(Student):-
_hasTaken(Student,rhet1302),
_hasTaken(Student,ecs3390),
_hasTaken(Student,phys2325),
_hasTaken(Student,phys2326),
_hasTaken(Student,phys2125),
_hasTaken(Student,phys2126),
_hasTaken(Student,govt2305),
_hasTaken(Student,govt2306),
_hasTaken(Student,ecs3361),
_hasTaken(Student,ecs1100),
_hasTaken(Student,cs1200),
_hasTaken(Student,cs1337),
_hasTaken(Student,cs2305),
_hasTaken(Student,cs2336),
_hasTaken(Student,math2418),
_hasTaken(Student,cs3162),
_hasTaken(Student,cs3305),
_hasTaken(Student,cs3340),
_hasTaken(Student,cs3341),
_hasTaken(Student,cs3345),
_hasTaken(Student,cs3354),
_hasTaken(Student,cs3376),
_hasTaken(Student,cs4141),
_hasTaken(Student,cs4337),
_hasTaken(Student,cs4341),
_hasTaken(Student,cs4347),
_hasTaken(Student,cs4348),
_hasTaken(Student,cs4349),
_hasTaken(Student,cs4349),
_hasTaken(Student,cs4384),
_hasTaken(Student,cs4485).
_metMathCourses(Student):-
_hasTaken(Student,math2413),
_hasTaken(Student,math2414),
_takenFor(Student,math2413,math),
_takenFor(Student,math2414,math).
_metMathCourses(Student):-
_hasTaken(Student,math2417),
_hasTaken(Student,math2419),
_takenFor(Student,math2417,math),
_takenFor(Student,math2419,math).
satisfiesSpecilization(Student,networks):-
_hasTaken(Student,cs4390),
_hasTaken(Student,cs4393),
_hasTaken(Student,cs4396).
satisfiesSpecilization(Student, infoAssurance):-
_hasTaken(Student,cs4389),
_hasTaken(Student,cs4393),
_hasTaken(Student,cs4398).
satisfiesSpecilization(Student, embedded):-
_hasTaken(Student,cs4141),
_hasTaken(Student,cs4341),
_hasTaken(Student,cs4397),
_hasTaken(Student,cs4348).
satisfiesSpecilization(Student,compImaging):-
_hasTaken(Student,cs4361),
_hasTaken(Student,cs4391),
_hasTaken(Student,cs4392).
satisfiesSpecilization(Student,AICog):-
_meetsHours(Student,AICog,9).
satisfiesSpecilization(Student,HumanCompInteraction):-
_hasTaken(Student,cs4352),
_hasTaken(Student,cs4353),
_hasTaken(Student,cs4361).
%course for communication (6 hours)
_req(rhet1302,required).
%couses for government (6 hours)
_req(govt2305,required).
_req(govt2306,required).
%courses for csPrep (20 total but no room for choice)
_req(phys2125,required).
_req(phys2126,required).
_req(phys2325,required).
_req(phys2326,required).
_req(ecs1100,required).
_req(cs1200,required).
_req(cs1337,required).
_req(cs2305,required).
_req(cs2336,required).
_req(math2418,required).
_req(se3162,required).
_req(se3306,required).
_req(se3340,required).
_req(se3341,required).
_req(cs3345,required).
_req(cs3354,required).
_req(ecs3361,required).
_req(se3376,required).
_req(ecs3390,required).
_req(se4347,required).
_req(cs4348,required).
_req(se4351,required).
_req(se4352,required).
_req(se4367,required).
_req(se4381,required).
_req(se4485,required).
%courses for math credit (8 hours)
_req(math2413,math).
_req(math2414,math).
_req(math2417,math).
_req(math2419,math).
%courses for creative arts credit
_req(ahst1303,art).
_req(ahst1304,art).
_req(ahst2331,art).
_req(arts1301,art).
_req(danc1310,art).
_req(dram1310,art).
_req(film2332,art).
_req(musi1306,art).
%courses for history credit (6 hours)
_req(hist1301,americanHist).
_req(hist1302,americanHist).
_req(hist2301,americanHist).
_req(hist2331,americanHist).
%courses for language philosophy and culture (3 hours)
_req(phil1301,lang).
_req(phil2316,lang).
_req(huma1301,lang).
_req(arab2312,lang).
_req(chin2312,lang).
_req(fren2312,lang).
_req(germ2312,lang).
_req(japn2312,lang).
_req(lit2331,lang).
_req(span2312,lang).
_req(ams2300,lang).
_req(ams2341,lang).
_req(ams3300,lang).
%Any of these courses can count for the sci 3 hour sci elective.
_req(biol1300,sci).
_req(biol2281,sci).
_req(biol2311,sci).
_req(biol2312,sci).
_req(biol2350,sci).
_req(biol318,sci).
_req(ce1202,sci).
_req(cgs2301,sci).
_req(chem1111,sci).
_req(chem1112,sci).
_req(chem1311,sci).
_req(chem1312,sci).
_req(ee1202,sci).
_req(envr2302,sci).
_req(geog2302,sci).
_req(geos1103,sci).
_req(geos1104,sci).
_req(geos1303,sci).
_req(geos1304,sci).
_req(geos2302,sci).
_req(geos2310,sci).
_req(geos2409,sci).
_req(isis2305,sci).
_req(isis2308,sci).
_req(isns2359,sci).
_req(isns2367,sci).
_req(isns2368,sci).
_req(nats1311,sci).
_req(nats2330,sci).
_req(nsc3344,sci).
_req(nsc3361,sci).
_req(nsc4352,sci).
_req(nsc4354,sci).
_req(phys1301,sci).
_req(phys1302,sci).
_req(phys2422,sci).
_req(psy2364,sci).
_req(spau2233,sci).
_req(te1202,sci).
_req(se3162,required).
_req(se3306,required).
_req(se3340,required).
_req(se3341,required).
_req(cs3345,required).
_req(cs3354,required).
_req(ecs3361,required).
_req(se3376,required).
_req(ecs3390,required).
_req(se4347,required).
_req(cs4348,required).
_req(se4351,required).
_req(se4352,required).
_req(se4367,required).
_req(se4381,required).
_req(se4485,required).
_req(cs4141,majorGuided).
_req(cs4314,majorGuided).
_req(cs4315,majorGuided).
_req(cs4334,majorGuided).
_req(cs4337,majorGuided).
_req(cs4341,majorGuided).
_req(cs4349,majorGuided).
_req(cs4352,majorGuided).
_req(cs4353,majorGuided).
_req(cs4361,majorGuided).
_req(cs4365,majorGuided).
_req(cs4375,majorGuided).
_req(cs4384,majorGuided).
_req(cs4386,majorGuided).
_req(cs4389,majorGuided).
_req(cs4390,majorGuided).
_req(cs4391,majorGuided).
_req(cs4392,majorGuided).
_req(cs4393,majorGuided).
_req(cs4394,majorGuided).
_req(cs4395,majorGuided).
_req(cs4396,majorGuided).
_req(cs4397,majorGuided).
_req(cs4398,majorGuided).
_req(cs4485,majorGuided).
_req(ee4325,majorGuided).
_req(se4376,majorGuided).
_req(se4399,majorGuided).
_req(cs4314,AICog).
_req(cs4315,AICog).
_req(cs4365,AICog).
_req(cs4375,AICog).
_req(cs4395,AICog).
\ No newline at end of file
This diff is collapsed.
#include 'se2015req.lp'.
#include 'se2015req2.lp'.
#include 'se2015grad.lp'.
#include 'se2015audit.lp'.
_specialization(Student,networks).
_specialization(Student,infoAssurance).
_specialization(Student,embedded).
_specialization(Student,compImaging).
_specialization(Student,AICog).
_specialization(Student,HumanCompInteraction).
ableToGraduate(Student):-
_metRequiredCourses(Student),
_metMathCourses(Student),
_specialization(Student,Spec),
satisfiesSpecialization(Student,Spec),
_meetsHours(Student,lang,3),
_meetsHours(Student,art,3),
_meetsHours(Student,americanHist,6),
_meetsHours(Student,sci,3),
_meetsHours(Student,majorGuided,12),
_meetsElectiveHours(Student,8).
_audit(Student):-
_auditRequiredCourses(Student),
_auditMathCourses(Student),
_specialization(Student,Spec),
specialization(Student, Spec),
_meetsHours(Student,lang,3),
_meetsHours(Student,art,3),
_meetsHours(Student,americanHist,6),
_meetsHours(Student,sci,3),
_meetsHours(Student,majorGuided,12),
_meetsElectiveHours(Student,8).
_main(Student):-
ableToGraduate(Student).
_main(Student):-
_audit(Student).
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment