I would start with a computer science or software engineering program, trim a bit, and fill the remaining space with custom-built rationality courses.
I would also reserve at least one course-slot per semester reserved for presentation of miscellaneous of topics that are too small to fill a whole semester, and allow any professor to claim a short block of that time, and assign readings and exercises for it. The best lessons are those with a high value-to-length ratio, which means a short length, which means not being long enough to fill a course.
Like I asked the dude above—why computer science or software engineering? I don’t know any programming languages, but I’m guessing they might help someone think logically. Perhaps a dedicated logic course would be better for that, though?
Of the top of my head, there are three reasons to at least a little programming, aside from the practical benefit. First, it’s a domain with immediate feedback. Mistakes are much more apparent, so you can cycle through making mistakes and learning from them quicker. Second, it teaches precise thinking. Implementing something requires a level of understanding and precision that it’s easy to think you have with other subjects when it isn’t really there. Third, it integrates well with other subjects like logic or math.
I would start with a computer science or software engineering program, trim a bit, and fill the remaining space with custom-built rationality courses.
I would also reserve at least one course-slot per semester reserved for presentation of miscellaneous of topics that are too small to fill a whole semester, and allow any professor to claim a short block of that time, and assign readings and exercises for it. The best lessons are those with a high value-to-length ratio, which means a short length, which means not being long enough to fill a course.
Like I asked the dude above—why computer science or software engineering? I don’t know any programming languages, but I’m guessing they might help someone think logically. Perhaps a dedicated logic course would be better for that, though?
Of the top of my head, there are three reasons to at least a little programming, aside from the practical benefit. First, it’s a domain with immediate feedback. Mistakes are much more apparent, so you can cycle through making mistakes and learning from them quicker. Second, it teaches precise thinking. Implementing something requires a level of understanding and precision that it’s easy to think you have with other subjects when it isn’t really there. Third, it integrates well with other subjects like logic or math.